From 61d4e042e180ba9bf869ea4d4986b02a3ad6339c Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Thu, 5 Feb 2026 16:44:30 -0500 Subject: [PATCH 1/8] Add angular project for PCO integration --- client/angular/.editorconfig | 17 + client/angular/.gitignore | 42 + client/angular/.vscode/extensions.json | 4 + client/angular/.vscode/launch.json | 20 + client/angular/.vscode/tasks.json | 42 + client/angular/README.md | 59 + client/angular/angular.json | 98 + client/angular/package-lock.json | 9003 ++++++++++++++++++++++++ client/angular/package.json | 47 + client/angular/public/favicon.ico | Bin 0 -> 15086 bytes client/angular/src/app/app.config.ts | 12 + client/angular/src/app/app.html | 38 + client/angular/src/app/app.routes.ts | 3 + client/angular/src/app/app.scss | 12 + client/angular/src/app/app.spec.ts | 23 + client/angular/src/app/app.ts | 12 + client/angular/src/index.html | 13 + client/angular/src/main.ts | 6 + client/angular/src/styles.scss | 1 + client/angular/tsconfig.app.json | 15 + client/angular/tsconfig.json | 34 + client/angular/tsconfig.spec.json | 14 + 22 files changed, 9515 insertions(+) create mode 100644 client/angular/.editorconfig create mode 100644 client/angular/.gitignore create mode 100644 client/angular/.vscode/extensions.json create mode 100644 client/angular/.vscode/launch.json create mode 100644 client/angular/.vscode/tasks.json create mode 100644 client/angular/README.md create mode 100644 client/angular/angular.json create mode 100644 client/angular/package-lock.json create mode 100644 client/angular/package.json create mode 100644 client/angular/public/favicon.ico create mode 100644 client/angular/src/app/app.config.ts create mode 100644 client/angular/src/app/app.html create mode 100644 client/angular/src/app/app.routes.ts create mode 100644 client/angular/src/app/app.scss create mode 100644 client/angular/src/app/app.spec.ts create mode 100644 client/angular/src/app/app.ts create mode 100644 client/angular/src/index.html create mode 100644 client/angular/src/main.ts create mode 100644 client/angular/src/styles.scss create mode 100644 client/angular/tsconfig.app.json create mode 100644 client/angular/tsconfig.json create mode 100644 client/angular/tsconfig.spec.json diff --git a/client/angular/.editorconfig b/client/angular/.editorconfig new file mode 100644 index 0000000..f166060 --- /dev/null +++ b/client/angular/.editorconfig @@ -0,0 +1,17 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single +ij_typescript_use_double_quotes = false + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/client/angular/.gitignore b/client/angular/.gitignore new file mode 100644 index 0000000..cc7b141 --- /dev/null +++ b/client/angular/.gitignore @@ -0,0 +1,42 @@ +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/client/angular/.vscode/extensions.json b/client/angular/.vscode/extensions.json new file mode 100644 index 0000000..77b3745 --- /dev/null +++ b/client/angular/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 + "recommendations": ["angular.ng-template"] +} diff --git a/client/angular/.vscode/launch.json b/client/angular/.vscode/launch.json new file mode 100644 index 0000000..925af83 --- /dev/null +++ b/client/angular/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "ng serve", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: start", + "url": "http://localhost:4200/" + }, + { + "name": "ng test", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: test", + "url": "http://localhost:9876/debug.html" + } + ] +} diff --git a/client/angular/.vscode/tasks.json b/client/angular/.vscode/tasks.json new file mode 100644 index 0000000..a298b5b --- /dev/null +++ b/client/angular/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "start", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + }, + { + "type": "npm", + "script": "test", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + } + ] +} diff --git a/client/angular/README.md b/client/angular/README.md new file mode 100644 index 0000000..35aca8b --- /dev/null +++ b/client/angular/README.md @@ -0,0 +1,59 @@ +# Angular + +This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.1.5. + +## Development server + +To start a local development server, run: + +```bash +ng serve +``` + +Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files. + +## Code scaffolding + +Angular CLI includes powerful code scaffolding tools. To generate a new component, run: + +```bash +ng generate component component-name +``` + +For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run: + +```bash +ng generate --help +``` + +## Building + +To build the project run: + +```bash +ng build +``` + +This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed. + +## Running unit tests + +To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command: + +```bash +ng test +``` + +## Running end-to-end tests + +For end-to-end (e2e) testing, run: + +```bash +ng e2e +``` + +Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs. + +## Additional Resources + +For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. diff --git a/client/angular/angular.json b/client/angular/angular.json new file mode 100644 index 0000000..41397e9 --- /dev/null +++ b/client/angular/angular.json @@ -0,0 +1,98 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "angular": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular/build:application", + "options": { + "browser": "src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.scss" + ] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kB", + "maximumError": "1MB" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "4kB", + "maximumError": "8kB" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular/build:dev-server", + "configurations": { + "production": { + "buildTarget": "angular:build:production" + }, + "development": { + "buildTarget": "angular:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular/build:extract-i18n" + }, + "test": { + "builder": "@angular/build:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing" + ], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.scss" + ] + } + } + } + } + } +} diff --git a/client/angular/package-lock.json b/client/angular/package-lock.json new file mode 100644 index 0000000..42ea665 --- /dev/null +++ b/client/angular/package-lock.json @@ -0,0 +1,9003 @@ +{ + "name": "angular", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "angular", + "version": "0.0.0", + "dependencies": { + "@angular/common": "^20.1.0", + "@angular/compiler": "^20.1.0", + "@angular/core": "^20.1.0", + "@angular/forms": "^20.1.0", + "@angular/platform-browser": "^20.1.0", + "@angular/router": "^20.1.0", + "@blackbaud/checkout": "1.1.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/build": "^20.1.5", + "@angular/cli": "^20.1.5", + "@angular/compiler-cli": "^20.1.0", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.8.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.2" + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/abtesting/-/abtesting-1.1.0.tgz", + "integrity": "sha1-MshIdpVnJ9zcqN8DxWfxL7Oe3w0=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz", + "integrity": "sha1-5Mua2QNXyLJvtvvNAVfMi9G2AO0=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-analytics/-/client-analytics-5.35.0.tgz", + "integrity": "sha1-/wudnL2gdEctcnotCmsYvMRwdr4=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-common/-/client-common-5.35.0.tgz", + "integrity": "sha1-HXKzYwjOqlPX1IjNOhYVBt3rDEI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-insights/-/client-insights-5.35.0.tgz", + "integrity": "sha1-j9Ue6tfYmSVSLUi1wWSz17ZWcHw=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-personalization/-/client-personalization-5.35.0.tgz", + "integrity": "sha1-pmF2eFEmm4/wkeqpAP4LZbOTc4I=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz", + "integrity": "sha1-uHBPPNsrSbjwNIu3ejghpf+ltzs=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-search/-/client-search-5.35.0.tgz", + "integrity": "sha1-YUQcTeIS2KGvk6sUBvRv0zhsNaA=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/ingestion/-/ingestion-1.35.0.tgz", + "integrity": "sha1-+yY8wZDaQhdW+PUuP+Xlr9yJ9ow=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/monitoring/-/monitoring-1.35.0.tgz", + "integrity": "sha1-a+Kz4qSDKLV9mIJ9qchewrQtSdo=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/recommend/-/recommend-5.35.0.tgz", + "integrity": "sha1-A8PR270bWwfdqYNQtFZAyBkIEhE=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz", + "integrity": "sha1-scJvyb6AoN3eay5F+1DVLHxsBfQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz", + "integrity": "sha1-KYFcW/UBFI6mGe2WuuCcCZpcztQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz", + "integrity": "sha1-kJW4Cgrnf1dANiYfRAU2NuMdG68=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha1-7UQbb6YAByUgzhi0PSyMyMrsx/Q=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.2003.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular-devkit/architect/-/architect-0.2003.15.tgz", + "integrity": "sha1-CdTlICBdz+RK4N1eT4ZVlsH97Jg=", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.3.15", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "20.3.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular-devkit/core/-/core-20.3.15.tgz", + "integrity": "sha1-1h4rkVsjR9qfM8N/OcbBY8xdKeo=", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.3", + "rxjs": "7.8.2", + "source-map": "0.7.6" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "20.3.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular-devkit/schematics/-/schematics-20.3.15.tgz", + "integrity": "sha1-fdL5ZqUw+tsMQl7QH7PLswPfhoo=", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.3.15", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.17", + "ora": "8.2.0", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/build": { + "version": "20.3.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/build/-/build-20.3.15.tgz", + "integrity": "sha1-+hxGYaHKeZHNjBmVdEIHanJmvxg=", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.2003.15", + "@babel/core": "7.28.3", + "@babel/helper-annotate-as-pure": "7.27.3", + "@babel/helper-split-export-declaration": "7.24.7", + "@inquirer/confirm": "5.1.14", + "@vitejs/plugin-basic-ssl": "2.1.0", + "beasties": "0.3.5", + "browserslist": "^4.23.0", + "esbuild": "0.25.9", + "https-proxy-agent": "7.0.6", + "istanbul-lib-instrument": "6.0.3", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "magic-string": "0.30.17", + "mrmime": "2.0.1", + "parse5-html-rewriting-stream": "8.0.0", + "picomatch": "4.0.3", + "piscina": "5.1.3", + "rollup": "4.52.3", + "sass": "1.90.0", + "semver": "7.7.2", + "source-map-support": "0.5.21", + "tinyglobby": "0.2.14", + "vite": "7.1.11", + "watchpack": "2.4.4" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "lmdb": "3.4.2" + }, + "peerDependencies": { + "@angular/compiler": "^20.0.0", + "@angular/compiler-cli": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/localize": "^20.0.0", + "@angular/platform-browser": "^20.0.0", + "@angular/platform-server": "^20.0.0", + "@angular/service-worker": "^20.0.0", + "@angular/ssr": "^20.3.15", + "karma": "^6.4.0", + "less": "^4.2.0", + "ng-packagr": "^20.0.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "tslib": "^2.3.0", + "typescript": ">=5.8 <6.0", + "vitest": "^3.1.1" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + }, + "@angular/localize": { + "optional": true + }, + "@angular/platform-browser": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "@angular/ssr": { + "optional": true + }, + "karma": { + "optional": true + }, + "less": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tailwindcss": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@angular/cli": { + "version": "20.3.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/cli/-/cli-20.3.15.tgz", + "integrity": "sha1-E+7Dz3O+tAA0inTeys/i6L+QhYA=", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.2003.15", + "@angular-devkit/core": "20.3.15", + "@angular-devkit/schematics": "20.3.15", + "@inquirer/prompts": "7.8.2", + "@listr2/prompt-adapter-inquirer": "3.0.1", + "@modelcontextprotocol/sdk": "1.25.2", + "@schematics/angular": "20.3.15", + "@yarnpkg/lockfile": "1.1.0", + "algoliasearch": "5.35.0", + "ini": "5.0.0", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "npm-package-arg": "13.0.0", + "pacote": "21.0.4", + "resolve": "1.22.10", + "semver": "7.7.2", + "yargs": "18.0.0", + "zod": "4.1.13" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/common": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/common/-/common-20.3.16.tgz", + "integrity": "sha1-0vXxu8jWW4GYmxawLHSyUp9FQeA=", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/core": "20.3.16", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/compiler/-/compiler-20.3.16.tgz", + "integrity": "sha1-mXCnLUx9rFtb8bLpKS5V6yIEZiM=", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@angular/compiler-cli": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/compiler-cli/-/compiler-cli-20.3.16.tgz", + "integrity": "sha1-zD3izMIOdTIuTYzQceRh1xFq4Do=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "7.28.3", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^4.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.2.0", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^18.0.0" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.3.16", + "typescript": ">=5.8 <6.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@angular/core": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/core/-/core-20.3.16.tgz", + "integrity": "sha1-wwA4YA4ZDs4Po4RS73Kee0ZBaJc=", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.3.16", + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.15.0" + }, + "peerDependenciesMeta": { + "@angular/compiler": { + "optional": true + }, + "zone.js": { + "optional": true + } + } + }, + "node_modules/@angular/forms": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/forms/-/forms-20.3.16.tgz", + "integrity": "sha1-3LBVaI6m1GRiKXM/ojSYym0cWkg=", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "20.3.16", + "@angular/core": "20.3.16", + "@angular/platform-browser": "20.3.16", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/platform-browser/-/platform-browser-20.3.16.tgz", + "integrity": "sha1-COtWybo1sZOZoVUxQi7dWXc04II=", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/animations": "20.3.16", + "@angular/common": "20.3.16", + "@angular/core": "20.3.16" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/router": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/router/-/router-20.3.16.tgz", + "integrity": "sha1-yYYDm/VUb/5ZMUu/E51FYcvteLY=", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "20.3.16", + "@angular/core": "20.3.16", + "@angular/platform-browser": "20.3.16", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha1-fNelnxWzzA3NgDA493knEqfQsVw=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha1-ANA+jArCTdm+lCxTcJkMvh8X2I0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/core/-/core-7.28.3.tgz", + "integrity": "sha1-rO3d5pxdHe9puDnQnvo+P/Wcl8s=", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.3", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha1-S1YPZJ/E6RjdCrdc9JYei8iC2Co=", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha1-0Jh2KQERq7sA75Yqe4OlMH+6DVA=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha1-8x/Ya5FfxNrx86xpdsWb5whO2cU=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha1-MsSj9B8S7RUyF5sQik10bhBcKyU=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha1-uUMN8qpOF7woZl6t6uiqHZheZnQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha1-YGMsvW/7cLIoIxhyARFnYqA+LVw=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha1-kxLZ2eVu3DWutulcJdQQa1C56x4=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha1-g5SUNokOB/o9aHPGGpbju/aS2FY=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha1-VNp5YJerGc5n7Z+ItHuy7Ek2doc=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha1-AQtpOPq3y333SqK7wGqlA7j+X7Q=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha1-+lL1sefbGrBJRFtCHERxMDiXcC8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha1-/KkDoxOuZ1YXk26JmLgUxBXL9dc=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha1-Zp7zRa3X0FfpK37RXwusB2EYMbY=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha1-Dn5W7O23iu72bOeXKwgvznaiPlc=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha1-8yPQUAFEAlPurTychYrb4AuQMQo=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha1-n1seg4xEbnLPPNS5GBUrjGBeN8c=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@blackbaud/checkout": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@blackbaud/checkout/-/checkout-1.1.0.tgz", + "integrity": "sha1-/WgKRqikQ3/uayTqVzPotNnyYJw=", + "license": "MIT" + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha1-u1BFecHK6SPmV2pPXaQ9Jfl729k=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha1-vvljUfFlIAVclHq6KIAu7ePJ6ak=", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha1-0qdT/ipMc7eUN9C6FIDi12AJdBk=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha1-0ucL59UaUpQlQiCR4Ny5A3TBVGw=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha1-UniDbjx651dhYmli+QKg1VNS5oM=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha1-8VE+r57I+hXcr0w0Gw8AXT6LR64=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha1-4n28O1B7OhzqO5KAoEuLa3Jfgr4=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha1-Nk4+W3of1F2SvgjGzF2JDKdZCMo=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha1-fIabRfrrPfZo4ZrOBzNaBxHsVqs=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha1-bOS5yr8UgnQQFwHREridxnzFLzc=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha1-SNQoYXWMlAthq+pDupopsYbWy4s=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha1-IH5UiZt5ysnCbDI/wcqjLjFD8cQ=", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha1-C6SKEnFZqPartYJ/IRmLmZ/9H8A=", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha1-pNTMaT0YX2amr96U93KzjOXWTrU=", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha1-D1gFwcbWQ1odr9wEPLB6GQUDV9s=", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha1-Z3bt7OD4/KefM4Y5i1GD/yqCdUc=", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha1-P28p7wNpOER8IhjTCdyHUiWGGDA=", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha1-gx/gsOGoCouDkSJOojd9VSDhUn8=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha1-BvmdfuvgNfu+Q94BydfpjSoKpUg=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha1-25mFjmvtbnORH5Kojk7dOoxCmlI=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha1-r7iGyGfjb52GuyHoeOEYX11aCTU=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha1-MIVcn4OB+sag71tfMaxucQimbs8=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha1-LyFErzHmetwqjjcFwgwr2XvYgxQ=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha1-abmam1vSJsnrnGpz+ZD93Ul9cy4=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha1-14kzCnEq+RbIgyX0/+Rl+IVxnGs=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha1-UvxzVAa9SWiCU+dOToN6wroHieM=", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha1-WFYk3IKc+258CqbDyn1+baqH408=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@hono/node-server": { + "version": "1.19.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@hono/node-server/-/node-server-1.19.9.tgz", + "integrity": "sha1-jzcRmxrPKD/T9gNfPRNW/bl6Caw=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" + } + }, + "node_modules/@inquirer/ansi": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/ansi/-/ansi-1.0.2.tgz", + "integrity": "sha1-Z0pMTYGtRgaVyyofxp14zRh/M34=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "4.3.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/checkbox/-/checkbox-4.3.2.tgz", + "integrity": "sha1-4Ug+ZRnW/++XKBpU0qW6oNgbPzs=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "5.1.14", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/confirm/-/confirm-5.1.14.tgz", + "integrity": "sha1-5jIe31GjpfVNxUi4Dva6iYkTUa0=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "10.3.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/core/-/core-10.3.2.tgz", + "integrity": "sha1-U1l5/z/0/h58xPg+IyBQTHQ7fiA=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/editor": { + "version": "4.2.23", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/editor/-/editor-4.2.23.tgz", + "integrity": "sha1-/gRqO/2ukxJi3pjBBSQ315QyLgs=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/external-editor": "^1.0.3", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "4.0.23", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/expand/-/expand-4.0.23.tgz", + "integrity": "sha1-o4tfMiJtdXF8Nwvf7XkjE7kr3AU=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/external-editor/-/external-editor-1.0.3.tgz", + "integrity": "sha1-wjmIKR7mdikP2rP9MG5kAQptE7g=", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.1", + "iconv-lite": "^0.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha1-27Se2A3xHfdCaAI7SWrF2azSKzo=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "4.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/input/-/input-4.3.1.tgz", + "integrity": "sha1-d4aDtMTE2V0F1LBcSoVJZLc1ZbQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "3.0.23", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/number/-/number-3.0.23.tgz", + "integrity": "sha1-P97CVA1kIJP9dSaBj9jUvcczUJQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "4.0.23", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/password/-/password-4.0.23.tgz", + "integrity": "sha1-ufUYfIyS/Xqp7Oudjy6tDX57AA0=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "7.8.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/prompts/-/prompts-7.8.2.tgz", + "integrity": "sha1-XZ2NcnODG9US6c+vPYJ8zg8urg8=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.2.1", + "@inquirer/confirm": "^5.1.14", + "@inquirer/editor": "^4.2.17", + "@inquirer/expand": "^4.0.17", + "@inquirer/input": "^4.2.1", + "@inquirer/number": "^3.0.17", + "@inquirer/password": "^4.0.17", + "@inquirer/rawlist": "^4.1.5", + "@inquirer/search": "^3.1.0", + "@inquirer/select": "^4.3.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.1.11", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/rawlist/-/rawlist-4.1.11.tgz", + "integrity": "sha1-MTyMP/zLfUHpkMYGRlcmtKiYoDM=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "3.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/search/-/search-3.2.2.tgz", + "integrity": "sha1-TMb9V03NQ05DmbrcN8dCw/1TSsg=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "4.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/select/-/select-4.4.2.tgz", + "integrity": "sha1-Ksj8qWCRPxjx0bNTI+2PzSfYkyM=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.10", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/type/-/type-3.0.10.tgz", + "integrity": "sha1-Ee1WTseEMqIA6iYBohLSSvgVDVA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha1-MIHa28NGBmG3UedZHX+upd853Sk=", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz", + "integrity": "sha1-DvWpLZHy//KjdkbOVNqeX1mfbv8=", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha1-LVmuOrSzj7QnC/oj0w+OLobH/jI=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha1-5F44TkuOwWvOL9kDr3hFD2v37Jg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha1-Y0Khn0Q0dRjJPkOxrGnes8Rlah8=", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha1-eg7mAfYPmaIMfHxf8MgDiMEYm9Y=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha1-aRKwDSxjHA0Vzhp6tXzWV/Ko+Lo=", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha1-2xXWeByTHzolGj2sOVAcmKYIL9A=", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "3.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz", + "integrity": "sha1-fggbTc3i8b1awWxiDuJAKQjwP+c=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/type": "^3.0.7" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 8", + "listr2": "9.0.1" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.2.tgz", + "integrity": "sha1-MWhItB4mzw3bN5+tGT1JBS8J198=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.2.tgz", + "integrity": "sha1-wgSK2dTEwj5CD4+y88QY9xNxXLc=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.2.tgz", + "integrity": "sha1-o9u3DhoemZ18gsz/PWyTiHIkGs0=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.2.tgz", + "integrity": "sha1-OCqCDkIsGJ/rC2TOarKtN5unsJc=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.2.tgz", + "integrity": "sha1-qgc+rDPt42nVGv0DFLLirwajaOA=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-arm64": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.2.tgz", + "integrity": "sha1-fnNQDwyByiaaatkpD7Hnv3E3hj0=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.2.tgz", + "integrity": "sha1-mcrxFLt005yeG6ypm5BzU62L9GE=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.25.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@modelcontextprotocol/sdk/-/sdk-1.25.2.tgz", + "integrity": "sha1-IoRWC04ES0zl8yjuGAkxEQy4xc8=", + "dev": true, + "license": "MIT", + "dependencies": { + "@hono/node-server": "^1.19.7", + "ajv": "^8.17.1", + "ajv-formats": "^3.0.1", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.0.1", + "express-rate-limit": "^7.5.0", + "jose": "^6.1.1", + "json-schema-typed": "^8.0.2", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.25 || ^4.0", + "zod-to-json-schema": "^3.25.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@cfworker/json-schema": "^4.1.1", + "zod": "^3.25 || ^4.0" + }, + "peerDependenciesMeta": { + "@cfworker/json-schema": { + "optional": true + }, + "zod": { + "optional": false + } + } + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha1-nt7GGyLDCCAYp59tHDAond89nRE=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha1-M2d6J1IEiYrYrL9ic0/E3AtqSFU=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha1-lPsFQ7ouKHZsP8Q5yrvgRArnAVk=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha1-Ge33zcLnBj7jKEA8HYlaht0o9Ls=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha1-SgYJq1/kTQfJxgoR5EhNPDi71uM=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha1-CqVQLVR7V6v8SsSS3mjiAG5BckI=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@napi-rs/nice": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice/-/nice-1.1.1.tgz", + "integrity": "sha1-warNYx7NTFAMlZ4+fP7dXHO//io=", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.1.1", + "@napi-rs/nice-android-arm64": "1.1.1", + "@napi-rs/nice-darwin-arm64": "1.1.1", + "@napi-rs/nice-darwin-x64": "1.1.1", + "@napi-rs/nice-freebsd-x64": "1.1.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", + "@napi-rs/nice-linux-arm64-gnu": "1.1.1", + "@napi-rs/nice-linux-arm64-musl": "1.1.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", + "@napi-rs/nice-linux-s390x-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-musl": "1.1.1", + "@napi-rs/nice-openharmony-arm64": "1.1.1", + "@napi-rs/nice-win32-arm64-msvc": "1.1.1", + "@napi-rs/nice-win32-ia32-msvc": "1.1.1", + "@napi-rs/nice-win32-x64-msvc": "1.1.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", + "integrity": "sha1-Tr2WaCHNbCzHzAIOtGjeOXu5tA8=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", + "integrity": "sha1-4YO6h0USvABYUtqri3jGPgpCiKg=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", + "integrity": "sha1-ZLFYWAl3TLuL+VzqPUyIJ8mJc5Q=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", + "integrity": "sha1-mcDH9iyx4jynaIG7KcxgAK7MxvA=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", + "integrity": "sha1-mlyg487YYgeIfJilpWDejN5akJ4=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", + "integrity": "sha1-uKahvIjQ3j6ZrD/eppmA3G4gtQI=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", + "integrity": "sha1-Im8e8w/LgPpANw6EO3XMhuOeEYM=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", + "integrity": "sha1-ATRcPbeSELpUBshyno23XtEcXxQ=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", + "integrity": "sha1-znoQJSJ9qrSR3tQHhLVhOU1oj8s=", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", + "integrity": "sha1-m+9dyJoEJdAxY4U7SWjbtobZj9U=", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", + "integrity": "sha1-JHyMfEWHaHe9szfP6ykP9P2C3mI=", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", + "integrity": "sha1-f9H14DfLRKtPX5WjsyJameMkjxI=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", + "integrity": "sha1-1EfNcVeuXaXAsV/GGL9h8MNE/28=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-openharmony-arm64": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", + "integrity": "sha1-ESDkV9LMayvIbvCml/rv4uGU384=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", + "integrity": "sha1-keTP7PM5tD+nk08MixnQT0zdm8A=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", + "integrity": "sha1-7ZMAu6B00+OwoHfWsVfytP9wrw4=", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", + "integrity": "sha1-gpK4L7RkWGGMz/W4Ew94l0NJVB4=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@npmcli/agent": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/agent/-/agent-4.0.0.tgz", + "integrity": "sha1-K7KxwKFwlAURVUp5hq4qi+n+3M4=", + "dev": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^11.2.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "11.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", + "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@npmcli/fs": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/fs/-/fs-5.0.0.tgz", + "integrity": "sha1-Z0YZdxkHNCs9GsGXqvHe62V+NTk=", + "dev": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/git": { + "version": "7.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/git/-/git-7.0.1.tgz", + "integrity": "sha1-0fZGKvDpkBU25Ee+6pIrwg3MV2I=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^9.0.0", + "ini": "^6.0.0", + "lru-cache": "^11.2.1", + "npm-pick-manifest": "^11.0.1", + "proc-log": "^6.0.0", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/git/node_modules/ini": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ini/-/ini-6.0.0.tgz", + "integrity": "sha1-78dkKydvajfSL99W71CInXFGvzA=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-3.1.2.tgz", + "integrity": "sha1-COU0nbA/8GVPOz7+eY+UqkvaT48=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "11.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", + "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@npmcli/git/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-6.0.0.tgz", + "integrity": "sha1-o6choUzdm5kaci5JPBd+7/gv8yo=", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/installed-package-contents/-/installed-package-contents-4.0.0.tgz", + "integrity": "sha1-GOUHBwTP4CePmuSAOFWLbv1DhCY=", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^5.0.0", + "npm-normalize-package-bin": "^5.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/node-gyp/-/node-gyp-5.0.0.tgz", + "integrity": "sha1-NUdaWLXXkXZKclIjEZehTe7+jkc=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "7.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/package-json/-/package-json-7.0.4.tgz", + "integrity": "sha1-9BeOXZC4iPO99maRVwb2E8LYcNc=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^7.0.0", + "glob": "^13.0.0", + "hosted-git-info": "^9.0.0", + "json-parse-even-better-errors": "^5.0.0", + "proc-log": "^6.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/glob": { + "version": "13.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/glob/-/glob-13.0.1.tgz", + "integrity": "sha1-xZolAMml8auc3TcCF87WPCqoHmA=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.2", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/package-json/node_modules/minimatch": { + "version": "10.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-10.1.2.tgz", + "integrity": "sha1-bD8on53mbWKPo/6xhCgEOWpD2Bw=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/package-json/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "9.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/promise-spawn/-/promise-spawn-9.0.1.tgz", + "integrity": "sha1-IOgMvdLyStJjoV3j67sWc8uCAFs=", + "dev": true, + "license": "ISC", + "dependencies": { + "which": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-3.1.2.tgz", + "integrity": "sha1-COU0nbA/8GVPOz7+eY+UqkvaT48=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-6.0.0.tgz", + "integrity": "sha1-o6choUzdm5kaci5JPBd+7/gv8yo=", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/redact/-/redact-4.0.0.tgz", + "integrity": "sha1-yREh4Ct1WamXYUosEFfNf8Z2CMQ=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "10.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/run-script/-/run-script-10.0.3.tgz", + "integrity": "sha1-hcFs2JPkTK1e3e1EGwAtih06io4=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^5.0.0", + "@npmcli/package-json": "^7.0.0", + "@npmcli/promise-spawn": "^9.0.0", + "node-gyp": "^12.1.0", + "proc-log": "^6.0.0", + "which": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-3.1.2.tgz", + "integrity": "sha1-COU0nbA/8GVPOz7+eY+UqkvaT48=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/@npmcli/run-script/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-6.0.0.tgz", + "integrity": "sha1-o6choUzdm5kaci5JPBd+7/gv8yo=", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha1-P5MoKMiU8G0K2c/vreF1bsxu8fE=", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha1-XzLg26NW9KyaEQaNKlwTTKO6ZWQ=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha1-iNPnILWbHs7/zpjaxG18QOi+Xo4=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha1-vwXXani8FZdPFew2cYSGmLCDgGM=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha1-i8JumEjnMDrIKSKlrhse8b20ilM=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha1-Eyj+4d6wwteGUHnvU6K6TML4tAo=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha1-utD0XLPiFXdG24udIttqElcR8VI=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha1-t1kT+9UB2VI8XzXUIJV799AgSAk=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha1-2lYhpqV2BwyMDeYN6otG3Jw4J9Q=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha1-zkN6zNxLMPk6CQtKIh/ZXNm4ljk=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha1-AkAMVLSmfvzH4jJ7JJcRkgrJaeI=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha1-yq49PHWDygpxcea9FCw00g6haR4=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha1-mskiVQiW3+R7/Frjvk8byvgVXW0=", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha1-c/2vui4hxEjw5Fa74TF42P4Rc50=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha1-Grpmk7DyVSWKBJ1iEykykyKq1Vg=", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.3.tgz", + "integrity": "sha1-cFDCrNwSFKcwBY4h9hOrDh/hztk=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.3.tgz", + "integrity": "sha1-P1sq+/y+kCFklwHPb/DVSx+35KU=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.3.tgz", + "integrity": "sha1-cKFnn7Q5O6e6+3MO5WpSeMvNr7A=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.3.tgz", + "integrity": "sha1-rnWuyI+nIGnem8o6PsIr9OapYr8=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.3.tgz", + "integrity": "sha1-iivamX+qHX4zXOGWHOcdGnasYog=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.3.tgz", + "integrity": "sha1-/Ch7zDm5qcDflzNtaP1fRFj4eXc=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.3.tgz", + "integrity": "sha1-W1oqVd/6pk18eiMegOSRIZ4z1PM=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.3.tgz", + "integrity": "sha1-l56rlQA8IYN+oP3YpyGqPmn6SqM=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.3.tgz", + "integrity": "sha1-U7ifEonL7KXtm2yhYCpv4aKd1OI=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.3.tgz", + "integrity": "sha1-O7z14TwJ0MTFW9nHXsanru5W/ig=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.3.tgz", + "integrity": "sha1-HMcYOEZagpf5LMxcycKXVrcfbnM=", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.3.tgz", + "integrity": "sha1-/j/fLvV9wtWP7dTx4GeGYHcshDo=", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.3.tgz", + "integrity": "sha1-7ryZ51gyiR1YUyUBh5ynSbFZL5M=", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.3.tgz", + "integrity": "sha1-mi3yNNYXY6RGAeuhfDaEShjyBTk=", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.3.tgz", + "integrity": "sha1-8ORep+Qe5HPIVFix7I+rlXLMGDQ=", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.3.tgz", + "integrity": "sha1-7WPexXZ5n6VXHu5bIED2X6qCtJs=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.3.tgz", + "integrity": "sha1-dVxWrHmxf73wNZvOfiKToR3jCtA=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.3.tgz", + "integrity": "sha1-hLQXD+KMK0HkBq3WzPhRO/kRleo=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.3.tgz", + "integrity": "sha1-T7DNAEGD2oGb7IBOunDx72k2zL8=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.3.tgz", + "integrity": "sha1-F4i6gDE0d6MeYhQ5CQYgFgTuOOs=", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.3.tgz", + "integrity": "sha1-hnIi8oipVXSHkAx4NpmBI+u63J0=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.3.tgz", + "integrity": "sha1-P1W26P6Amn0plZ1rxobM4YBFgfA=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@schematics/angular": { + "version": "20.3.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@schematics/angular/-/angular-20.3.15.tgz", + "integrity": "sha1-tm2cO1VQvGYPuA7I/e6tQ9+ad20=", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.3.15", + "@angular-devkit/schematics": "20.3.15", + "jsonc-parser": "3.3.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/bundle": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/bundle/-/bundle-4.0.0.tgz", + "integrity": "sha1-hU7aQ+tqWTUgN+SQABd8iQRXL4M=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.5.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/core": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/core/-/core-3.1.0.tgz", + "integrity": "sha1-tBjec/VjM62eNpuRUXPYyY6bltU=", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.5.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/protobuf-specs/-/protobuf-specs-0.5.0.tgz", + "integrity": "sha1-5fAp7cs6QymFOgm2AwEeYQQ+sAU=", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/sign/-/sign-4.1.0.tgz", + "integrity": "sha1-Y98VoTczeyn0Y6HRxR4ffUwdsvE=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.1.0", + "@sigstore/protobuf-specs": "^0.5.0", + "make-fetch-happen": "^15.0.3", + "proc-log": "^6.1.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/sign/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "4.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/tuf/-/tuf-4.0.1.tgz", + "integrity": "sha1-mwgDkJNteeo7aok7ZLrzEj6S1tM=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.5.0", + "tuf-js": "^4.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/verify/-/verify-3.1.0.tgz", + "integrity": "sha1-QEbUGGQh23eVAf6H+lrKpdTSGwg=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.1.0", + "@sigstore/protobuf-specs": "^0.5.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha1-gh+EQvQXXY8EZ7na8m46GOLQKvI=", + "dev": true, + "license": "MIT" + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha1-pS9ho9c3SDP8qUWyVJvDCi3UDQo=", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@tufjs/models/-/models-4.1.0.tgz", + "integrity": "sha1-SUs5z14vaFXYADEkbdI22AhgabM=", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^10.1.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "10.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-10.1.2.tgz", + "integrity": "sha1-bD8on53mbWKPo/6xhCgEOWpD2Bw=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha1-2T6iZz/YyfaXNn9e7vwrv6lPA0I=", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha1-lYuRyZGxhnztMYvt6g4hXuBQcm4=", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jasmine": { + "version": "5.1.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@types/jasmine/-/jasmine-5.1.15.tgz", + "integrity": "sha1-WpqNfEVZAImoYvw+HAxw06+BEnQ=", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@types/node/-/node-25.2.1.tgz", + "integrity": "sha1-N4Ah+edlu2W6Nt4W88OoYiwfoD0=", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", + "integrity": "sha1-xw0qkivEN/FUCJ1+8FBdtLOD63s=", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha1-53qX+9NFt22DJF7c0X05OxtB+zE=", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/abbrev": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/abbrev/-/abbrev-4.0.0.tgz", + "integrity": "sha1-7JM/Die2zWDom1xrKjBK9CIJuwU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha1-u89LpQdUZ/PyEx6rPP/HPC9deJU=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha1-48121MVI7oldPD/Y3B9sW5Ay56g=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha1-N9mlx3ava8ktf0+VEOukwKYNEaY=", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha1-PV3HYryhdnnDwup+kK1rdTIwlXg=", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/algoliasearch": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/algoliasearch/-/algoliasearch-5.35.0.tgz", + "integrity": "sha1-zhLR0ofW9KgLmZhWj4Bsktq7pWY=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.1.0", + "@algolia/client-abtesting": "5.35.0", + "@algolia/client-analytics": "5.35.0", + "@algolia/client-common": "5.35.0", + "@algolia/client-insights": "5.35.0", + "@algolia/client-personalization": "5.35.0", + "@algolia/client-query-suggestions": "5.35.0", + "@algolia/client-search": "5.35.0", + "@algolia/ingestion": "1.35.0", + "@algolia/monitoring": "1.35.0", + "@algolia/recommend": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ansi-escapes": { + "version": "7.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-escapes/-/ansi-escapes-7.3.0.tgz", + "integrity": "sha1-U5W7dLIVCkodbjwlZfSuynjShic=", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha1-YCFu6kZNhkWXzigyAAc4oFiWUME=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha1-wETV3MUhoHZBNHJZehrLHxA8QEE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", + "dev": true, + "license": "MIT" + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha1-J3Csa8R9MSr5eov5pjQ0LgzSXLY=", + "dev": true, + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha1-PlCMQ8Rtlh6019LluNHdD57k9Ig=", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/beasties": { + "version": "0.3.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/beasties/-/beasties-0.3.5.tgz", + "integrity": "sha1-pSq+pOrRBcGt7WaxoBp06WWF3IE=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "css-select": "^6.0.0", + "css-what": "^7.0.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "htmlparser2": "^10.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.49", + "postcss-media-query-parser": "^0.2.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "2.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha1-GjLNuWa+r2jeUKnfvltY+Dy4iQw=", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha1-q5tFRGblqMw6GHvqrVgEEqnFuEM=", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/braces/-/braces-3.0.3.tgz", + "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha1-f1NFlGKMU8YxAQeeJ+QN5JBFapU=", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U=", + "dev": true, + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha1-iwvuuYYFrfGxKPpDhkA8AJ4CIaU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "20.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cacache/-/cacache-20.0.3.tgz", + "integrity": "sha1-vWUgXV5thuArv6+OTOYAjxuB0Rk=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^5.0.0", + "fs-minipass": "^3.0.0", + "glob": "^13.0.0", + "lru-cache": "^11.1.0", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^13.0.0", + "unique-filename": "^5.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "13.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/glob/-/glob-13.0.1.tgz", + "integrity": "sha1-xZolAMml8auc3TcCF87WPCqoHmA=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.2", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "11.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", + "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "10.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-10.1.2.tgz", + "integrity": "sha1-bD8on53mbWKPo/6xhCgEOWpD2Bw=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha1-S1QowiK+mF15w9gmV0edvgtZstY=", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha1-I43pNdKippKSjFOMfM+pEGf9Bio=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001768", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/caniuse-lite/-/caniuse-lite-1.0.30001768.tgz", + "integrity": "sha1-VGv69OwzMFCW6EKQbfkRvPOsDR8=", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha1-sSOLbiPqM3r3HH+KKV21rwwViuo=", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chardet": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chardet/-/chardet-2.1.1.tgz", + "integrity": "sha1-XHVZNwSmQvce5TcX3yNAMeZTc8g=", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha1-e+N6TAPJruHs/oYqSiOyxwwgXTA=", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha1-mFXmTs0kCpzEJnzopKpdJKHaFeQ=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha1-JKSDHs9aawHd6zL7caSyCIsNzjg=", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha1-F3Oo9LnE1qwxVj31Oz/B15Ri/kE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha1-bMKKKST+6eJc6R6XPbVscGbmFyo=", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha1-QtqsQdPCVO84rYrAN2chMBc2kcU=", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha1-b3iQ84b28feZU63B943sRvzC0pE=", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha1-lWgy3qlJQwbm0gnrhxZDu4c9fJg=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha1-nreT5oMwZ/cjWQL807CZF6AAqVo=", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true, + "license": "MIT" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/connect/-/connect-3.7.0.tgz", + "integrity": "sha1-XUk0iRDKpeB6AYALAw0MNfIEhPg=", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "license": "MIT" + }, + "node_modules/connect/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/content-disposition/-/content-disposition-1.0.1.tgz", + "integrity": "sha1-qLe76ykEvv37Z4flwMCGlZ9gX5s=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha1-i3cxYmVtHRCGeEyPI6VM5tc9eRg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha1-f6rmI1P7QhM2bQypg1jSLoNosF8=", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha1-VWNpxHKiupEPKXmJG1JrNDYjftc=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha1-V8f8PMKTrKuf7FTXPhVpDr5KF5M=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cors/-/cors-2.8.6.tgz", + "integrity": "sha1-/13Wm9leVHUDgg0pq6T4+vjf7JY=", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha1-ilj+ePANzXDDcEUXWd+/rwPo7p8=", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha1-fmPwmIGtEYCECRBI7VQ3htrZZkQ=", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "7.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha1-V5b769Q1cdc8YLoN16bnXdDSL+Q=", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true, + "license": "MIT" + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha1-eo5YRDT7FppSHIt6pIHzVYENlAA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/debug/-/debug-4.4.3.tgz", + "integrity": "sha1-xq5DLZvZZiWC/OCHCbA4xY6ePWo=", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/depd/-/depd-2.0.0.tgz", + "integrity": "sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha1-SANzVQmti+VSk0xn32FPlOZvoBU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha1-aJxdzcGQDvVYOky59te0c3QgdK0=", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true, + "license": "MIT" + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "license": "MIT", + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha1-5BuALh7t+fbK4YPOXmIteJ19jlM=", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha1-XEXo6GmVJiYzHXqrMm0B2vZdWJ0=", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha1-zDhff3UfHR/GUMITdIBCVFOMfTE=", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha1-7b/itmiwwdl8JLrw8QYrEyIhvHg=", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha1-165mfh3INIL4tw/Q9u78UNow9Yo=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.286", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha1-FCvhq14c1QRJVNsOWJj2CklgOE4=", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha1-vz1uj3+P0ipl2XA0dbwBRzV6aw0=", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha1-e46omAd9fkCdOsRUdOo46vCFelg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha1-VldK/deR9UqOmyeFwFgqLSYhD6k=", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha1-pS+AvzjaGVLrXGgXkHGYcaGnJQE=", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/engine.io": { + "version": "6.6.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/engine.io/-/engine.io-6.6.5.tgz", + "integrity": "sha1-oAlSL11WKBCXgbRnIgFDSYWSadI=", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.4.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.18.3" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha1-ANxbl7HyM6I8k5jQIJUEz1+U2S8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha1-C/C+EltnAUrcsLCSHmLbe//hay4=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha1-WOMjpy/twNb5zU0x/kn1FHlZDM0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ent": { + "version": "2.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ent/-/ent-2.2.2.tgz", + "integrity": "sha1-IqXtL9fODLz/HRR0z0kJpEvbboU=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "punycode": "^1.4.1", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/entities/-/entities-4.5.0.tgz", + "integrity": "sha1-XSaOpecRPsdMTQM7eepaNaSI+0g=", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha1-QgOZ1BbOH76bwKB8Yvpo1n/Q+PI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/environment/-/environment-1.1.0.tgz", + "integrity": "sha1-jobGaxgPNjx6sxF4fgJZZl9FqfE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha1-I8Lzt1b/38YI0w4nyalBAkgH5/k=", + "dev": true, + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha1-mD6y+aZyTpMD9hrd8BHHLgngsPo=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha1-HE8sSDcydZfOadLKGQp/3RcjOME=", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha1-FauOOa5s3GTCT/iiwK71s/2fqXY=", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true, + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=", + "dev": true, + "license": "MIT" + }, + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha1-EVdiLi9Td7tq7yEUNycougwVaYk=", + "dev": true, + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha1-KS4WXjTKy8k2w8knGe8ybUrrTpA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha1-Uc+SwcBJPHZgU/nTq+5ENMJE0vY=", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/express/-/express-5.2.1.tgz", + "integrity": "sha1-jyHRW20yf5K0eU7PjLCKcvlWrAQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "7.5.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/express-rate-limit/-/express-rate-limit-7.5.1.tgz", + "integrity": "sha1-jDpC9pIJo6HJaYkAcOzp4gqHnew=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/extend/-/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha1-Zu7P9sdkwN+bdi5iyn7c+1O07fo=", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha1-7Sq5Z6MxreYvGNB32uGSaE1Q01A=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha1-osUXplWYUrzbBtH4vX9Rto+tgJk=", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha1-Z8j62VRUp8er6/dLt47nSkQCM1g=", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha1-d31z1yqS+OxNLkEOtHNSpWuOg0A=", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha1-ImmTZCiq1MFcfr6XeahL8LKoGBE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha1-jdffahs6Gzpc8YbAWl3SZ2ImNaQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha1-eahZgcTcEgBl6W9iCGv2+dwmzFQ=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.4.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", + "integrity": "sha1-m8TKoTFwK0thcpy35Cc1vFUMnuY=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha1-dD8OO2lkqTpUke0b/6rgVNf5jQE=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha1-FQs/J0OGnvPoUewMSdFbHRTQDuE=", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/glob/-/glob-7.2.3.tgz", + "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha1-x1KXCHyFG5pXi9IX3VmpL1n+VG4=", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha1-ifVrghe9vIgCvSmd9tfxCB1+UaE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=", + "dev": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha1-/JxqeDoISVHQuXH+EBjegTcHozg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha1-LNxC1AvvLltO6rfAGnPFTOerWrw=", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hono": { + "version": "4.11.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/hono/-/hono-4.11.7.tgz", + "integrity": "sha1-9bjQsLUD7w2ROiRgEt2lLqI9vlM=", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/hosted-git-info": { + "version": "9.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/hosted-git-info/-/hosted-git-info-9.0.2.tgz", + "integrity": "sha1-s4yKgCsnTide7sz59KGxoKhVeto=", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^11.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "11.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", + "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha1-39YAJ9o2o238viNiYsAKWCJoFFM=", + "dev": true, + "license": "MIT" + }, + "node_modules/htmlparser2": { + "version": "10.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/htmlparser2/-/htmlparser2-10.1.0.tgz", + "integrity": "sha1-/j8uEsc7bkYtThA5XbnBEZ5NauQ=", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "entities": "^7.0.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "7.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/entities/-/entities-7.0.1.tgz", + "integrity": "sha1-JuioiInbY0F9y5oeeaPxvJK1l2s=", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha1-IF9Ntk+FYrdqT/kjWqUnmDmgndU=", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha1-NtL2W8kJyHkAGN02+02T2myq4Gs=", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha1-mosfJGhmwChQlIZYX2K48sGMJw4=", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha1-2o3+rH2hMLBcK6S1nJts1mYRprk=", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha1-0L3qw/ErSDW3NZwq2JxCKk0cxy4=", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ignore-walk": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ignore-walk/-/ignore-walk-8.0.0.tgz", + "integrity": "sha1-OAwXO63DoYxX/zNEB1PwBS9XKxQ=", + "dev": true, + "license": "ISC", + "dependencies": { + "minimatch": "^10.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "10.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-10.1.2.tgz", + "integrity": "sha1-bD8on53mbWKPo/6xhCgEOWpD2Bw=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/immutable": { + "version": "5.1.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/immutable/-/immutable-5.1.4.tgz", + "integrity": "sha1-4/jB/ntWfVbPJmmPMZGMJB2ujB8=", + "dev": true, + "license": "MIT" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ini/-/ini-5.0.0.tgz", + "integrity": "sha1-p6RhUzmEPZqMzC2Fydgc+T/7xjg=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/ip-address": { + "version": "10.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ip-address/-/ip-address-10.1.0.tgz", + "integrity": "sha1-2Nz/s00OAuskFCdESm4j9bBZWqQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha1-KpiAGoSfQ+Kt1kT7trxiKbGaTvQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha1-+uMWfHKedGP4RhzlErCApJJoqog=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha1-QMV2FFk4JtoRAK3mBZd41ZfxbpA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha1-Qv+fhCBsGZHSbev1IN1cAQQt0vM=", + "dev": true, + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha1-dtcKPtEO+b5I61d4h9dCBb8MrSI=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha1-CfCrDebTdE1I0mXruY9l0R8qmzo=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha1-DFteMMJVei8G/r03tzIpRqruQrM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha1-LRZsSwZE1Do58Ev2wu3R5YXzF1Y=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha1-+hVAHfbBWHS8shBfdzMl14xmZ2U=", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha1-kIMFusmlvRdaxqdEier9D8JEWn0=", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha1-iV86cJ/PujTG3lpCk5Ai8+Q1hVE=", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha1-y0U1FitXhKpiPO4hpyUs8sgHrJM=", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jasmine-core": { + "version": "5.8.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jasmine-core/-/jasmine-core-5.8.0.tgz", + "integrity": "sha1-imi3sgmwbCJH1nSQvKhgTC+kmM0=", + "dev": true, + "license": "MIT" + }, + "node_modules/jose": { + "version": "6.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jose/-/jose-6.1.3.tgz", + "integrity": "sha1-hFPXvoive7fWSgSB1qNaAUW6PqU=", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha1-dNM1ojT2ftGZB/2t+sfM+dQJgl0=", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/json-parse-even-better-errors/-/json-parse-even-better-errors-5.0.0.tgz", + "integrity": "sha1-k8ifUp8CLl2twjNAkyTwFnsekD4=", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-typed": { + "version": "8.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/json-schema-typed/-/json-schema-typed-8.0.2.tgz", + "integrity": "sha1-6Y7nsYmf9KGEU00fFnwojGa77/Q=", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/json5/-/json5-2.2.3.tgz", + "integrity": "sha1-eM1vGhm9wStz21rQxh79ZsHikoM=", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha1-8qUktPf9EePXkeVZl3rWC5i3mLQ=", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/karma": { + "version": "6.4.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/karma/-/karma-6.4.4.tgz", + "integrity": "sha1-36WkJs9ai1O0PNVO8NDQl0I1FJI=", + "dev": true, + "license": "MIT", + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.7.2", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", + "integrity": "sha1-65yVAk8tbfuzdI00FaybOBkGuak=", + "dev": true, + "license": "MIT", + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-chrome-launcher/node_modules/which": { + "version": "1.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/karma-coverage": { + "version": "2.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/karma-coverage/-/karma-coverage-2.2.1.tgz", + "integrity": "sha1-4cwHT5Os6dxPt+euynE1h5wuNYw=", + "dev": true, + "license": "MIT", + "dependencies": { + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha1-0QyIhcISVXThwjHKyt+VVnXhzj0=", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma-coverage/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha1-OvRVimUC+haFag80bsIZPUuISy8=", + "dev": true, + "license": "MIT", + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", + "integrity": "sha1-+VGtALCNYdA1lUAskU0aWJxJMOM=", + "dev": true, + "license": "MIT", + "peerDependencies": { + "jasmine-core": "^4.0.0 || ^5.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" + } + }, + "node_modules/karma-jasmine/node_modules/jasmine-core": { + "version": "4.6.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jasmine-core/-/jasmine-core-4.6.1.tgz", + "integrity": "sha1-XruK+gcoIHj417FYcXN6g7dOWPI=", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/karma/node_modules/body-parser": { + "version": "1.20.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha1-+OIPTQbKilCnHtMpwV3MrRzcVH8=", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/karma/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/karma/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/karma/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/karma/node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha1-EcZlDudwp94bSU8ZeSfeDJI4IuI=", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/karma/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/listr2": { + "version": "9.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/listr2/-/listr2-9.0.1.tgz", + "integrity": "sha1-PK0S2B2Zj4AkYh2bNclp26XaQQM=", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/listr2/node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha1-qG1mFwQzcS3egUcHrFK1JxzrH+s=", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha1-lWgy3qlJQwbm0gnrhxZDu4c9fJg=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lmdb": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lmdb/-/lmdb-3.4.2.tgz", + "integrity": "sha1-jZDRLsmldQUtMCYuabCgKj0QPOs=", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "msgpackr": "^1.11.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.5.3", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.4.2", + "@lmdb/lmdb-darwin-x64": "3.4.2", + "@lmdb/lmdb-linux-arm": "3.4.2", + "@lmdb/lmdb-linux-arm64": "3.4.2", + "@lmdb/lmdb-linux-x64": "3.4.2", + "@lmdb/lmdb-win32-arm64": "3.4.2", + "@lmdb/lmdb-win32-x64": "3.4.2" + } + }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha1-8ROwN4OGEDvk9okziMc9C95/LFo=", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha1-u5Xl8FMiZRysMMD+tkBPnyqKlDk=", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha1-2CSYS2FsKSouGYIH1KYJmDhC9xQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha1-GgT/OBZvlGR64a9WL0vWoVsbfNQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha1-BGsqbU9rFWsiM9MgfUtal4OZm5g=", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.3.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha1-rfe+cKptchYtkHzQ5tXBH1B7VAM=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha1-lWgy3qlJQwbm0gnrhxZDu4c9fJg=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha1-q6Wj/054cq40+LTFM3BnU3CeOLY=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha1-RQpElnPSRg5bvPupphkWoXFMdFM=", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha1-w8IwencSd82WODBfkVwprnQbYU4=", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-fetch-happen": { + "version": "15.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/make-fetch-happen/-/make-fetch-happen-15.0.3.tgz", + "integrity": "sha1-FXjXKIXys/nl2qEgs2oU/DGoRhA=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^4.0.0", + "cacache": "^20.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^5.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^6.0.0", + "promise-retry": "^2.0.1", + "ssri": "^13.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/make-fetch-happen/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha1-oN10voHiqlwvJ+Zc4oNgXuTit/k=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha1-ardLjy0zIPIGSyqHo455Mf86VWE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha1-6pIvZgY1oiSe5WXgRJ+VHmtgOAg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime/-/mime-2.6.0.tgz", + "integrity": "sha1-oqaCqVzU0MsdYlfij4PafjWAA2c=", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha1-zds+5PnGRTDf9kAjZmHULLajFPU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha1-OQAtQYJXXVrwNv+hGBAPJSSy4qs=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha1-rL4rM0n5m53qyn+3Dki4PpTmcHY=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha1-waRk52kzAuCCoHXO4MBXdBrEdyw=", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha1-k6libOXl5mvU24aEnnUV6SNApwc=", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha1-FiG8d+EiWKEsYNNOInbsXCBoCGM=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-fetch/-/minipass-fetch-5.0.1.tgz", + "integrity": "sha1-yNYtwDk/nUvBVkIff7EDIc1Uppc=", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^2.0.0", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha1-e7o4TbOhUg0YycDlJRw0ROld2Uo=", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha1-aEcveXEcCEZXwGfFxq2Tzd6oIUw=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha1-e7o4TbOhUg0YycDlJRw0ROld2Uo=", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-sized": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-sized/-/minipass-sized-2.0.0.tgz", + "integrity": "sha1-Iijul+P3T2sium0TGa3bdiFTQwY=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha1-atdsOo8QInybUdHJrI4wsn9aJRw=", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha1-fe8D0kMtyuS6HWEURcSDlgYiVfY=", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha1-vD6H95h4U6VMmFDusfEHjNRK3dw=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ms/-/ms-2.1.3.tgz", + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", + "dev": true, + "license": "MIT" + }, + "node_modules/msgpackr": { + "version": "1.11.8", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/msgpackr/-/msgpackr-1.11.8.tgz", + "integrity": "sha1-goPHnrbl1Ij2+z+sSZYAa6o5BhQ=", + "dev": true, + "license": "MIT", + "optional": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha1-6dhwI945znFIcvnpUE48GZbWEBI=", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } + }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha1-pURvwMUStxyDxE2QjVx7e0xJOys=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha1-T08RLO++MDIC8hmYOBKJNiZtGFs=", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha1-tskbtHFy1p+Tz9fDV7u1KQGbX2o=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha1-rIRwA05Y5n0MbxIEoYrmmV2cDXY=", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-gyp": { + "version": "12.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/node-gyp/-/node-gyp-12.2.0.tgz", + "integrity": "sha1-/3P29QnjPYt+do+In/yXOK0Rewc=", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^15.0.0", + "nopt": "^9.0.0", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "tar": "^7.5.4", + "tinyglobby": "^0.2.12", + "which": "^6.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha1-Ui9QwtUxNNfzp2zXJV3kq2yWo6Q=", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-3.1.2.tgz", + "integrity": "sha1-COU0nbA/8GVPOz7+eY+UqkvaT48=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/node-gyp/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-6.0.0.tgz", + "integrity": "sha1-o6choUzdm5kaci5JPBd+7/gv8yo=", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha1-7tylGSBc8g9lD2HVawcNsREjHk4=", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "9.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/nopt/-/nopt-9.0.0.tgz", + "integrity": "sha1-a/8INrKWTSRQi2tBtamknE9KH5Y=", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^4.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-bundled": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-bundled/-/npm-bundled-5.0.0.tgz", + "integrity": "sha1-UCXYR8/QbHuNlDLfAWldATPZ7oA=", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^5.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-install-checks": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-install-checks/-/npm-install-checks-8.0.0.tgz", + "integrity": "sha1-9dGOkJu4MY2FCT6djzasQnwcvjA=", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz", + "integrity": "sha1-KyB/8mDy5SXdzpM1ZhTi9zZyj4k=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-package-arg": { + "version": "13.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-package-arg/-/npm-package-arg-13.0.0.tgz", + "integrity": "sha1-vm/X5gxv1gW4X1cOiMrOReJBbIs=", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^9.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-packlist": { + "version": "10.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-packlist/-/npm-packlist-10.0.3.tgz", + "integrity": "sha1-4iwDk1f6+Bp10bDN9T3RE/K+2cc=", + "dev": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^8.0.0", + "proc-log": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-packlist/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "11.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-pick-manifest/-/npm-pick-manifest-11.0.3.tgz", + "integrity": "sha1-ds9lk6NRhJAGw2s4pzJnmOKnbRM=", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^8.0.0", + "npm-normalize-package-bin": "^5.0.0", + "npm-package-arg": "^13.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "19.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-registry-fetch/-/npm-registry-fetch-19.1.1.tgz", + "integrity": "sha1-UeltIfQJqbxPlq8hioYD6IRFkCQ=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^4.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^15.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^5.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^13.0.0", + "proc-log": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha1-yeq0KO/842zWuSySS9sADvHx7R0=", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha1-g3UmXiG8IND6WCwi4bE0hdbgAhM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha1-WMjEQRblSEWtV/FKsQsDUzGErD8=", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha1-nxbJLYye9RIOOs2d2ZV8zuzBq2A=", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "8.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ora/-/ora-8.2.0.tgz", + "integrity": "sha1-j7u3FRr+M7VA3RU/Fx/6i9OOmGE=", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ordered-binary": { + "version": "1.6.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ordered-binary/-/ordered-binary-1.6.1.tgz", + "integrity": "sha1-WsJA6nGdag5tTwSFOF0/nLHNRDI=", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/p-map": { + "version": "7.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/p-map/-/p-map-7.0.4.tgz", + "integrity": "sha1-uBgUJV9ULiUtVyncpNZuXsFJNbg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pacote": { + "version": "21.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/pacote/-/pacote-21.0.4.tgz", + "integrity": "sha1-Wc0qK1pMjBtiXzOZGpaxNtHAXZU=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^7.0.0", + "@npmcli/installed-package-contents": "^4.0.0", + "@npmcli/package-json": "^7.0.0", + "@npmcli/promise-spawn": "^9.0.0", + "@npmcli/run-script": "^10.0.0", + "cacache": "^20.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^13.0.0", + "npm-packlist": "^10.0.1", + "npm-pick-manifest": "^11.0.1", + "npm-registry-fetch": "^19.0.0", + "proc-log": "^6.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^4.0.0", + "ssri": "^13.0.0", + "tar": "^7.4.3" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/pacote/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/parse5": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/parse5/-/parse5-8.0.0.tgz", + "integrity": "sha1-rOsmf2sV+bbmup41v91IH8IWexI=", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz", + "integrity": "sha1-P0QuW1gRpUVuKla2jqRO8VO0TZI=", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0", + "parse5": "^8.0.0", + "parse5-sax-parser": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/entities/-/entities-6.0.1.tgz", + "integrity": "sha1-wow0pDN5yn9h0HQTCy9fcCCjBpQ=", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz", + "integrity": "sha1-SXVe+9K2OEbHuQiil6h0rwB2BxU=", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/entities/-/entities-6.0.1.tgz", + "integrity": "sha1-wow0pDN5yn9h0HQTCy9fcCCjBpQ=", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha1-S2VyN2z9i4EfypzR9cJLPLrA/hA=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", + "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/path-to-regexp": { + "version": "8.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha1-qoGKaYH5kyEAOgiYfTzsnDR0zR8=", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha1-PTIa8+q5ObCDyPkpodEs2oHCa2s=", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha1-eWx2E20e6tcV2x57rXhd7daVoEI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/piscina": { + "version": "5.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/piscina/-/piscina-5.1.3.tgz", + "integrity": "sha1-MKRgUAoIdw/JfWIuY4V6WXjfxGY=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.x" + }, + "optionalDependencies": { + "@napi-rs/nice": "^1.0.4" + } + }, + "node_modules/pkce-challenge": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/pkce-challenge/-/pkce-challenge-5.0.1.tgz", + "integrity": "sha1-O0RGhlsXsXRems4gFqMfSN32Iw0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha1-KCUAZhWmGbT2Kp50JswSCzSajzw=", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", + "dev": true, + "license": "MIT" + }, + "node_modules/proc-log": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-5.0.0.tgz", + "integrity": "sha1-5sk883rvM/g1xTSF8xT1DqkGqdg=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha1-/3R6E2IKtXumiPX8Z4VUEMNw2iI=", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha1-8Z/mnOqzEe65S0LnDowgcPm6ECU=", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true, + "license": "MIT" + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha1-xF6cYYAL0IfviNfiVkI73Unl0HE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.14.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/qs/-/qs-6.14.1.tgz", + "integrity": "sha1-pB2FudOQLzHSeGF5BQYpSIGHEVk=", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha1-PjraWuVWj5CV2EN2/TpJuPsAClE=", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha1-64WAFDX78qfuWPGeCSGwaPxplI0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha1-QAyEW2y6h6IfLGXErrFY9PpNnFs=", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha1-tmPoP/sJu/I4aURza6roAwKbizk=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha1-B2bZVpnvrLFBUJk/VbrwlT6h6+c=", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha1-d492xPtzHZNBTo+SX77PZMzn9so=", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/rollup/-/rollup-4.52.3.tgz", + "integrity": "sha1-zFwo13KwIs5IsjWpezR8zZ2IwaM=", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.52.3", + "@rollup/rollup-android-arm64": "4.52.3", + "@rollup/rollup-darwin-arm64": "4.52.3", + "@rollup/rollup-darwin-x64": "4.52.3", + "@rollup/rollup-freebsd-arm64": "4.52.3", + "@rollup/rollup-freebsd-x64": "4.52.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.52.3", + "@rollup/rollup-linux-arm-musleabihf": "4.52.3", + "@rollup/rollup-linux-arm64-gnu": "4.52.3", + "@rollup/rollup-linux-arm64-musl": "4.52.3", + "@rollup/rollup-linux-loong64-gnu": "4.52.3", + "@rollup/rollup-linux-ppc64-gnu": "4.52.3", + "@rollup/rollup-linux-riscv64-gnu": "4.52.3", + "@rollup/rollup-linux-riscv64-musl": "4.52.3", + "@rollup/rollup-linux-s390x-gnu": "4.52.3", + "@rollup/rollup-linux-x64-gnu": "4.52.3", + "@rollup/rollup-linux-x64-musl": "4.52.3", + "@rollup/rollup-openharmony-arm64": "4.52.3", + "@rollup/rollup-win32-arm64-msvc": "4.52.3", + "@rollup/rollup-win32-ia32-msvc": "4.52.3", + "@rollup/rollup-win32-x64-gnu": "4.52.3", + "@rollup/rollup-win32-x64-msvc": "4.52.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/router/-/router-2.2.0.tgz", + "integrity": "sha1-AZvmILcRyHZBFnzHm5kJDwCxRu8=", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha1-lVvEc+2K8RoAKivlIHG/R1Y4YHs=", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha1-f4fftnoxUHguqvGFg/9dFxGsEME=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.90.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/sass/-/sass-1.90.0.tgz", + "integrity": "sha1-1vwr5Jx8CGzobqCyMaNb+eM8uEs=", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/semver/-/semver-7.7.2.tgz", + "integrity": "sha1-Z9mf3NNc7CHm+Lh6f9UVoz+YK1g=", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/send/-/send-1.2.1.tgz", + "integrity": "sha1-nqt0O4dPNVD0CiaGe/KGrWDT8+0=", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha1-fxhqSk5fW2Y616QpT/G/N88OmKk=", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha1-ZsmiSnP5/CjL5msJ/tPTPcrxtCQ=", + "dev": true, + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha1-w/z/nE2pMnhIczNeyXZfqU/2a8k=", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha1-EMtZhCYxFdO3oOM2WR4pCoMK+K0=", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha1-1rtrN5Asb+9RdOX1M/q0xzKib0I=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha1-Ed2hnVNo5Azp7CvcH7DsvAeQ7Oo=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha1-lSGIwcvVRgcOLdIND0HArgUwywQ=", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sigstore": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/sigstore/-/sigstore-4.1.0.tgz", + "integrity": "sha1-00uSpUSgXgA6JDAgnSbY36/YBaA=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.1.0", + "@sigstore/protobuf-specs": "^0.5.0", + "@sigstore/sign": "^4.1.0", + "@sigstore/tuf": "^4.0.1", + "@sigstore/verify": "^3.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha1-tzBjxXqpb5zYgWVLFSlNldKFxCo=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha1-bh1x+k8YwF99D/IW3RakgdDo2a4=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socket.io": { + "version": "4.8.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/socket.io/-/socket.io-4.8.3.tgz", + "integrity": "sha1-ymuhQxxpUy4eCm9Jbe6+tgHbxN8=", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.4.1", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/socket.io-adapter/-/socket.io-adapter-2.5.6.tgz", + "integrity": "sha1-xpf2CdNqZ2pGdJeCJ0YH2N9Swdg=", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "~4.4.1", + "ws": "~8.18.3" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/socket.io-parser/-/socket.io-parser-4.2.5.tgz", + "integrity": "sha1-P0G402kSmpMmjyq+y6lLUpKFAJk=", + "dev": true, + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.4.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha1-C/C+EltnAUrcsLCSHmLbe//hay4=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha1-WOMjpy/twNb5zU0x/kn1FHlZDM0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/socks/-/socks-2.8.7.tgz", + "integrity": "sha1-4vsdmmA63XUFCiBn24w4GgtWaeo=", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha1-uc205+mYUJ12WdaJznaXrCFkW+4=", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha1-o2WKuH5bZCnIofO6AIPUxhyj7wI=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha1-HOVlD93YerwJnto33P8CTCZnrkY=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha1-BP58f54e0tZiIzwoyys1ufY/bk8=", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha1-T1qwZo8AWeNPnADc4zF4ShLeTpw=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha1-XWB9J/yAb2bXtkp2ZlD6iQ8E7WY=", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha1-q/Wgim9dcnlVm2afR/CkPo80ZO8=", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/ssri": { + "version": "13.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ssri/-/ssri-13.0.0.tgz", + "integrity": "sha1-QiazA9xHQAPYiQX5CYywM2EQbHQ=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha1-j3XuzvdlteHPzcCA2llAntQk44I=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha1-OQA39ExK4aGuU1xf443Dq6jZl74=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha1-EmMYIymkXe8f+u9Y0xsV0T0u5/8=", + "dev": true, + "license": "MIT", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha1-tbuOIWXOJ11NQ0dt0nAK2Qkdttw=", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha1-Eyh1q95njH6o1pFTPy5+Irt0Tbo=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar": { + "version": "7.5.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tar/-/tar-7.5.7.tgz", + "integrity": "sha1-rfmXdACLociYGfFdvWAZxjBTlAU=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha1-AOLeRDY57Q14/YfeDSdGn7z/tTM=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha1-UoCwzz+XKwUOdK6IQGwKalj0B50=", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha1-sGvNI/DzyDV7QmiRcm0WAVq/2Pg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha1-O+NDIaiKgg7RvYDfqjPkefu43TU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha1-YS7+TtI11Wfoq6Xypfq3AoCt6D8=", + "license": "0BSD" + }, + "node_modules/tuf-js": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tuf-js/-/tuf-js-4.1.0.tgz", + "integrity": "sha1-rk75r6RW/LSvED3FCkO8Ax8GZgM=", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/models": "4.1.0", + "debug": "^4.4.3", + "make-fetch-happen": "^15.0.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha1-ZPbPA/kvzkAVwrIkeT9r3UsGjJc=", + "dev": true, + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha1-kvij5ePPSXNW9BeMNM1lp/XoRA4=", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.41", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ua-parser-js/-/ua-parser-js-0.7.41.tgz", + "integrity": "sha1-n23uWMOJ6K+rq6YqSi3CLttppFI=", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha1-/8zf82rqSITL/OmnUKBYAiT1ikY=", + "dev": true, + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/unique-filename/-/unique-filename-5.0.0.tgz", + "integrity": "sha1-ixe73hp8oyLdGh0j/hfCt5jEP48=", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/unique-slug": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/unique-slug/-/unique-slug-6.0.0.tgz", + "integrity": "sha1-9G/WiKm9ly/TVsI9lYEqOkhi7Yg=", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha1-ZNdttYcTE2rL60xJEUNmzGzC6A0=", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz", + "integrity": "sha1-To0sTZOZdac90bemXo8I1EyF35Y=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "7.1.11", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/vite/-/vite-7.1.11.tgz", + "integrity": "sha1-TQBnRhEv7gVt9kmFGR6Ebr+2AH4=", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha1-4ijdHmOM6pk9L9tPzS1GAqeZUcI=", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha1-RzvacvCFBFPaZCUIHqRvwNdgKUc=", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha1-/btnQfNrrpVA0S9IDOglQGDczRk=", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ws/-/ws-8.18.3.tgz", + "integrity": "sha1-tWuIq//eYnkcY5FwQAyT3LDJVHI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha1-bIQlmAYnOnRrCfV5CHtoo8LSW9E=", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha1-h7gglAUbBWdxc0bs0A/RSASzV8g=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha1-fklk6o7EIrekCskX06NEz9IwS6o=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.1.13", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/zod/-/zod-4.1.13.tgz", + "integrity": "sha1-k2maiv6Te6lrrbsM6L5gM8CktrE=", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", + "integrity": "sha1-fySWIQGkOd2t4r8a6rPDv+x9hLo=", + "dev": true, + "license": "ISC", + "peerDependencies": { + "zod": "^3.25 || ^4" + } + }, + "node_modules/zone.js": { + "version": "0.15.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/zone.js/-/zone.js-0.15.1.tgz", + "integrity": "sha1-HhCa23X4Dp4ATujg1KClLgozZIE=", + "license": "MIT" + } + } +} diff --git a/client/angular/package.json b/client/angular/package.json new file mode 100644 index 0000000..b419b2d --- /dev/null +++ b/client/angular/package.json @@ -0,0 +1,47 @@ +{ + "name": "angular", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "prettier": { + "overrides": [ + { + "files": "*.html", + "options": { + "parser": "angular" + } + } + ] + }, + "private": true, + "dependencies": { + "@blackbaud/checkout": "1.1.0", + "@angular/common": "^20.1.0", + "@angular/compiler": "^20.1.0", + "@angular/core": "^20.1.0", + "@angular/forms": "^20.1.0", + "@angular/platform-browser": "^20.1.0", + "@angular/router": "^20.1.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/build": "^20.1.5", + "@angular/cli": "^20.1.5", + "@angular/compiler-cli": "^20.1.0", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.8.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.2" + } +} \ No newline at end of file diff --git a/client/angular/public/favicon.ico b/client/angular/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 zcmd^G33O9Omi+`8$@{|M-I6TH3wzF-p5CV8o}7f~KxR60LK+ApEFB<$bcciv%@SmA zV{n>g85YMFFeU*Uvl=i4v)C*qgnb;$GQ=3XTe9{Y%c`mO%su)noNCCQ*@t1WXn|B(hQ7i~ zrUK8|pUkD6#lNo!bt$6)jR!&C?`P5G(`e((P($RaLeq+o0Vd~f11;qB05kdbAOm?r zXv~GYr_sibQO9NGTCdT;+G(!{4Xs@4fPak8#L8PjgJwcs-Mm#nR_Z0s&u?nDX5^~@ z+A6?}g0|=4e_LoE69pPFO`yCD@BCjgKpzMH0O4Xs{Ahc?K3HC5;l=f zg>}alhBXX&);z$E-wai+9TTRtBX-bWYY@cl$@YN#gMd~tM_5lj6W%8ah4;uZ;jP@Q zVbuel1rPA?2@x9Y+u?e`l{Z4ngfG5q5BLH5QsEu4GVpt{KIp1?U)=3+KQ;%7ec8l* zdV=zZgN5>O3G(3L2fqj3;oBbZZw$Ij@`Juz@?+yy#OPw)>#wsTewVgTK9BGt5AbZ&?K&B3GVF&yu?@(Xj3fR3n+ZP0%+wo)D9_xp>Z$`A4 zfV>}NWjO#3lqumR0`gvnffd9Ka}JJMuHS&|55-*mCD#8e^anA<+sFZVaJe7{=p*oX zE_Uv?1>e~ga=seYzh{9P+n5<+7&9}&(kwqSaz;1aD|YM3HBiy<))4~QJSIryyqp| z8nGc(8>3(_nEI4n)n7j(&d4idW1tVLjZ7QbNLXg;LB ziHsS5pXHEjGJZb59KcvS~wv;uZR-+4qEqow`;JCfB*+b^UL^3!?;-^F%yt=VjU|v z39SSqKcRu_NVvz!zJzL0CceJaS6%!(eMshPv_0U5G`~!a#I$qI5Ic(>IONej@aH=f z)($TAT#1I{iCS4f{D2+ApS=$3E7}5=+y(rA9mM#;Cky%b*Gi0KfFA`ofKTzu`AV-9 znW|y@19rrZ*!N2AvDi<_ZeR3O2R{#dh1#3-d%$k${Rx42h+i&GZo5!C^dSL34*AKp z27mTd>k>?V&X;Nl%GZ(>0s`1UN~Hfyj>KPjtnc|)xM@{H_B9rNr~LuH`Gr5_am&Ep zTjZA8hljNj5H1Ipm-uD9rC}U{-vR!eay5&6x6FkfupdpT*84MVwGpdd(}ib)zZ3Ky z7C$pnjc82(W_y_F{PhYj?o!@3__UUvpX)v69aBSzYj3 zdi}YQkKs^SyXyFG2LTRz9{(w}y~!`{EuAaUr6G1M{*%c+kP1olW9z23dSH!G4_HSK zzae-DF$OGR{ofP*!$a(r^5Go>I3SObVI6FLY)N@o<*gl0&kLo-OT{Tl*7nCz>Iq=? zcigIDHtj|H;6sR?or8Wd_a4996GI*CXGU}o;D9`^FM!AT1pBY~?|4h^61BY#_yIfO zKO?E0 zJ{Pc`9rVEI&$xxXu`<5E)&+m(7zX^v0rqofLs&bnQT(1baQkAr^kEsk)15vlzAZ-l z@OO9RF<+IiJ*O@HE256gCt!bF=NM*vh|WVWmjVawcNoksRTMvR03H{p@cjwKh(CL4 z7_PB(dM=kO)!s4fW!1p0f93YN@?ZSG` z$B!JaAJCtW$B97}HNO9(x-t30&E}Mo1UPi@Av%uHj~?T|!4JLwV;KCx8xO#b9IlUW zI6+{a@Wj|<2Y=U;a@vXbxqZNngH8^}LleE_4*0&O7#3iGxfJ%Id>+sb;7{L=aIic8 z|EW|{{S)J-wr@;3PmlxRXU8!e2gm_%s|ReH!reFcY8%$Hl4M5>;6^UDUUae?kOy#h zk~6Ee_@ZAn48Bab__^bNmQ~+k=02jz)e0d9Z3>G?RGG!65?d1>9}7iG17?P*=GUV-#SbLRw)Hu{zx*azHxWkGNTWl@HeWjA?39Ia|sCi{e;!^`1Oec zb>Z|b65OM*;eC=ZLSy?_fg$&^2xI>qSLA2G*$nA3GEnp3$N-)46`|36m*sc#4%C|h zBN<2U;7k>&G_wL4=Ve5z`ubVD&*Hxi)r@{4RCDw7U_D`lbC(9&pG5C*z#W>8>HU)h z!h3g?2UL&sS!oY5$3?VlA0Me9W5e~V;2jds*fz^updz#AJ%G8w2V}AEE?E^=MK%Xt z__Bx1cr7+DQmuHmzn*|hh%~eEc9@m05@clWfpEFcr+06%0&dZJH&@8^&@*$qR@}o3 z@Tuuh2FsLz^zH+dN&T&?0G3I?MpmYJ;GP$J!EzjeM#YLJ!W$}MVNb0^HfOA>5Fe~UNn%Zk(PT@~9}1dt)1UQ zU*B5K?Dl#G74qmg|2>^>0WtLX#Jz{lO4NT`NYB*(L#D|5IpXr9v&7a@YsGp3vLR7L zHYGHZg7{ie6n~2p$6Yz>=^cEg7tEgk-1YRl%-s7^cbqFb(U7&Dp78+&ut5!Tn(hER z|Gp4Ed@CnOPeAe|N>U(dB;SZ?NU^AzoD^UAH_vamp6Ws}{|mSq`^+VP1g~2B{%N-!mWz<`)G)>V-<`9`L4?3dM%Qh6<@kba+m`JS{Ya@9Fq*m6$$ zA1%Ogc~VRH33|S9l%CNb4zM%k^EIpqY}@h{w(aBcJ9c05oiZx#SK9t->5lSI`=&l~ z+-Ic)a{FbBhXV$Xt!WRd`R#Jk-$+_Z52rS>?Vpt2IK<84|E-SBEoIw>cs=a{BlQ7O z-?{Fy_M&84&9|KM5wt~)*!~i~E=(6m8(uCO)I=)M?)&sRbzH$9Rovzd?ZEY}GqX+~ zFbEbLz`BZ49=2Yh-|<`waK-_4!7`ro@zlC|r&I4fc4oyb+m=|c8)8%tZ-z5FwhzDt zL5kB@u53`d@%nHl0Sp)Dw`(QU&>vujEn?GPEXUW!Wi<+4e%BORl&BIH+SwRcbS}X@ z01Pk|vA%OdJKAs17zSXtO55k!;%m9>1eW9LnyAX4uj7@${O6cfii`49qTNItzny5J zH&Gj`e}o}?xjQ}r?LrI%FjUd@xflT3|7LA|ka%Q3i}a8gVm<`HIWoJGH=$EGClX^C0lysQJ>UO(q&;`T#8txuoQ_{l^kEV9CAdXuU1Ghg8 zN_6hHFuy&1x24q5-(Z7;!poYdt*`UTdrQOIQ!2O7_+AHV2hgXaEz7)>$LEdG z<8vE^Tw$|YwZHZDPM!SNOAWG$?J)MdmEk{U!!$M#fp7*Wo}jJ$Q(=8>R`Ats?e|VU?Zt7Cdh%AdnfyN3MBWw{ z$OnREvPf7%z6`#2##_7id|H%Y{vV^vWXb?5d5?a_y&t3@p9t$ncHj-NBdo&X{wrfJ zamN)VMYROYh_SvjJ=Xd!Ga?PY_$;*L=SxFte!4O6%0HEh%iZ4=gvns7IWIyJHa|hT z2;1+e)`TvbNb3-0z&DD_)Jomsg-7p_Uh`wjGnU1urmv1_oVqRg#=C?e?!7DgtqojU zWoAB($&53;TsXu^@2;8M`#z{=rPy?JqgYM0CDf4v@z=ZD|ItJ&8%_7A#K?S{wjxgd z?xA6JdJojrWpB7fr2p_MSsU4(R7=XGS0+Eg#xR=j>`H@R9{XjwBmqAiOxOL` zt?XK-iTEOWV}f>Pz3H-s*>W z4~8C&Xq25UQ^xH6H9kY_RM1$ch+%YLF72AA7^b{~VNTG}Tj#qZltz5Q=qxR`&oIlW Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/client/angular/src/app/app.config.ts b/client/angular/src/app/app.config.ts new file mode 100644 index 0000000..d953f4c --- /dev/null +++ b/client/angular/src/app/app.config.ts @@ -0,0 +1,12 @@ +import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZoneChangeDetection } from '@angular/core'; +import { provideRouter } from '@angular/router'; + +import { routes } from './app.routes'; + +export const appConfig: ApplicationConfig = { + providers: [ + provideBrowserGlobalErrorListeners(), + provideZoneChangeDetection({ eventCoalescing: true }), + provideRouter(routes) + ] +}; diff --git a/client/angular/src/app/app.html b/client/angular/src/app/app.html new file mode 100644 index 0000000..181e334 --- /dev/null +++ b/client/angular/src/app/app.html @@ -0,0 +1,38 @@ +
+

Checkout flow

+
+
Current configuration
+
+ +
+ +
+
+
+
+
Transaction details
+
+ + +
+
+ + +
+
+ + + +
+
Results
+
+
Transaction token:
+
+
+
Card token:
+
+
+
Authorized amount:
+
+
+
diff --git a/client/angular/src/app/app.routes.ts b/client/angular/src/app/app.routes.ts new file mode 100644 index 0000000..dc39edb --- /dev/null +++ b/client/angular/src/app/app.routes.ts @@ -0,0 +1,3 @@ +import { Routes } from '@angular/router'; + +export const routes: Routes = []; diff --git a/client/angular/src/app/app.scss b/client/angular/src/app/app.scss new file mode 100644 index 0000000..c7e47ce --- /dev/null +++ b/client/angular/src/app/app.scss @@ -0,0 +1,12 @@ +main { + margin: 25px; + width: 500px; +} + +.container-row { + margin-bottom: 10px; +} + +.content-block { + margin: 30px 0; +} diff --git a/client/angular/src/app/app.spec.ts b/client/angular/src/app/app.spec.ts new file mode 100644 index 0000000..1e6b708 --- /dev/null +++ b/client/angular/src/app/app.spec.ts @@ -0,0 +1,23 @@ +import { TestBed } from '@angular/core/testing'; +import { App } from './app'; + +describe('App', () => { + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [App], + }).compileComponents(); + }); + + it('should create the app', () => { + const fixture = TestBed.createComponent(App); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + + it('should render title', () => { + const fixture = TestBed.createComponent(App); + fixture.detectChanges(); + const compiled = fixture.nativeElement as HTMLElement; + expect(compiled.querySelector('h1')?.textContent).toContain('Hello, angular'); + }); +}); diff --git a/client/angular/src/app/app.ts b/client/angular/src/app/app.ts new file mode 100644 index 0000000..0b7ca20 --- /dev/null +++ b/client/angular/src/app/app.ts @@ -0,0 +1,12 @@ +import { Component, signal } from '@angular/core'; +import { RouterOutlet } from '@angular/router'; + +@Component({ + selector: 'app-root', + imports: [RouterOutlet], + templateUrl: './app.html', + styleUrl: './app.scss' +}) +export class App { + protected readonly title = signal('angular'); +} diff --git a/client/angular/src/index.html b/client/angular/src/index.html new file mode 100644 index 0000000..86697fe --- /dev/null +++ b/client/angular/src/index.html @@ -0,0 +1,13 @@ + + + + + Angular + + + + + + + + diff --git a/client/angular/src/main.ts b/client/angular/src/main.ts new file mode 100644 index 0000000..5df75f9 --- /dev/null +++ b/client/angular/src/main.ts @@ -0,0 +1,6 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { appConfig } from './app/app.config'; +import { App } from './app/app'; + +bootstrapApplication(App, appConfig) + .catch((err) => console.error(err)); diff --git a/client/angular/src/styles.scss b/client/angular/src/styles.scss new file mode 100644 index 0000000..90d4ee0 --- /dev/null +++ b/client/angular/src/styles.scss @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/client/angular/tsconfig.app.json b/client/angular/tsconfig.app.json new file mode 100644 index 0000000..264f459 --- /dev/null +++ b/client/angular/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" + ] +} diff --git a/client/angular/tsconfig.json b/client/angular/tsconfig.json new file mode 100644 index 0000000..e4955f2 --- /dev/null +++ b/client/angular/tsconfig.json @@ -0,0 +1,34 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "compileOnSave": false, + "compilerOptions": { + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "ES2022", + "module": "preserve" + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "typeCheckHostBindings": true, + "strictTemplates": true + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/client/angular/tsconfig.spec.json b/client/angular/tsconfig.spec.json new file mode 100644 index 0000000..04df34c --- /dev/null +++ b/client/angular/tsconfig.spec.json @@ -0,0 +1,14 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "include": [ + "src/**/*.ts" + ] +} From d40952efcaaafba98cd123d9e2e3badc1bac7143 Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Fri, 6 Feb 2026 09:13:49 -0500 Subject: [PATCH 2/8] End to end opening of modal --- client/angular/angular.json | 23 +- client/angular/package-lock.json | 756 ++++++++++-------- client/angular/package.json | 12 +- client/angular/src/app/app.config.ts | 12 +- client/angular/src/app/app.html | 39 +- client/angular/src/app/app.routes.ts | 8 +- client/angular/src/app/app.scss | 12 - client/angular/src/app/app.ts | 2 +- .../src/components/checkout/checkout.html | 49 ++ .../src/components/checkout/checkout.scss | 12 + .../src/components/checkout/checkout.spec.ts | 23 + .../src/components/checkout/checkout.ts | 74 ++ client/angular/src/index.html | 1 + .../shared/models/processing-configuration.ts | 4 + .../BusinessLogic/PaymentsService.cs | 43 +- .../Models/Payments/CheckoutConfiguration.cs | 3 + 16 files changed, 681 insertions(+), 392 deletions(-) create mode 100644 client/angular/src/components/checkout/checkout.html create mode 100644 client/angular/src/components/checkout/checkout.scss create mode 100644 client/angular/src/components/checkout/checkout.spec.ts create mode 100644 client/angular/src/components/checkout/checkout.ts create mode 100644 client/angular/src/shared/models/processing-configuration.ts diff --git a/client/angular/angular.json b/client/angular/angular.json index 41397e9..9670ce3 100644 --- a/client/angular/angular.json +++ b/client/angular/angular.json @@ -19,7 +19,8 @@ "options": { "browser": "src/main.ts", "polyfills": [ - "zone.js" + "zone.js", + "@skyux/packages/polyfills" ], "tsConfig": "tsconfig.app.json", "inlineStyleLanguage": "scss", @@ -30,7 +31,18 @@ } ], "styles": [ - "src/styles.scss" + "src/styles.scss", + "@skyux/theme/css/sky.css", + "@skyux/theme/css/themes/modern/styles.css" + ], + "allowedCommonJsDependencies": [ + "@skyux/icons", + "autonumeric", + "dom-autoscroller", + "dragula", + "fontfaceobserver", + "intl-tel-input", + "moment" ] }, "configurations": { @@ -77,7 +89,8 @@ "options": { "polyfills": [ "zone.js", - "zone.js/testing" + "zone.js/testing", + "@skyux/packages/polyfills" ], "tsConfig": "tsconfig.spec.json", "inlineStyleLanguage": "scss", @@ -88,7 +101,9 @@ } ], "styles": [ - "src/styles.scss" + "src/styles.scss", + "@skyux/theme/css/sky.css", + "@skyux/theme/css/themes/modern/styles.css" ] } } diff --git a/client/angular/package-lock.json b/client/angular/package-lock.json index 42ea665..1f7adf2 100644 --- a/client/angular/package-lock.json +++ b/client/angular/package-lock.json @@ -8,13 +8,21 @@ "name": "angular", "version": "0.0.0", "dependencies": { + "@angular/cdk": "^20.0.0", "@angular/common": "^20.1.0", "@angular/compiler": "^20.1.0", "@angular/core": "^20.1.0", "@angular/forms": "^20.1.0", + "@angular/material": "^20.2.14", "@angular/platform-browser": "^20.1.0", "@angular/router": "^20.1.0", "@blackbaud/checkout": "1.1.0", + "@skyux/assets": "^13.12.0", + "@skyux/core": "^13.12.0", + "@skyux/i18n": "^13.12.0", + "@skyux/packages": "^13.12.0", + "@skyux/pages": "13.12.0", + "@skyux/theme": "^13.12.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" @@ -37,7 +45,6 @@ "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/abtesting/-/abtesting-1.1.0.tgz", "integrity": "sha1-MshIdpVnJ9zcqN8DxWfxL7Oe3w0=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/client-common": "5.35.0", @@ -53,7 +60,6 @@ "version": "5.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz", "integrity": "sha1-5Mua2QNXyLJvtvvNAVfMi9G2AO0=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/client-common": "5.35.0", @@ -69,7 +75,6 @@ "version": "5.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-analytics/-/client-analytics-5.35.0.tgz", "integrity": "sha1-/wudnL2gdEctcnotCmsYvMRwdr4=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/client-common": "5.35.0", @@ -85,7 +90,6 @@ "version": "5.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-common/-/client-common-5.35.0.tgz", "integrity": "sha1-HXKzYwjOqlPX1IjNOhYVBt3rDEI=", - "dev": true, "license": "MIT", "engines": { "node": ">= 14.0.0" @@ -95,7 +99,6 @@ "version": "5.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-insights/-/client-insights-5.35.0.tgz", "integrity": "sha1-j9Ue6tfYmSVSLUi1wWSz17ZWcHw=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/client-common": "5.35.0", @@ -111,7 +114,6 @@ "version": "5.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-personalization/-/client-personalization-5.35.0.tgz", "integrity": "sha1-pmF2eFEmm4/wkeqpAP4LZbOTc4I=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/client-common": "5.35.0", @@ -127,7 +129,6 @@ "version": "5.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz", "integrity": "sha1-uHBPPNsrSbjwNIu3ejghpf+ltzs=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/client-common": "5.35.0", @@ -143,7 +144,6 @@ "version": "5.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-search/-/client-search-5.35.0.tgz", "integrity": "sha1-YUQcTeIS2KGvk6sUBvRv0zhsNaA=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/client-common": "5.35.0", @@ -159,7 +159,6 @@ "version": "1.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/ingestion/-/ingestion-1.35.0.tgz", "integrity": "sha1-+yY8wZDaQhdW+PUuP+Xlr9yJ9ow=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/client-common": "5.35.0", @@ -175,7 +174,6 @@ "version": "1.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/monitoring/-/monitoring-1.35.0.tgz", "integrity": "sha1-a+Kz4qSDKLV9mIJ9qchewrQtSdo=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/client-common": "5.35.0", @@ -191,7 +189,6 @@ "version": "5.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/recommend/-/recommend-5.35.0.tgz", "integrity": "sha1-A8PR270bWwfdqYNQtFZAyBkIEhE=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/client-common": "5.35.0", @@ -207,7 +204,6 @@ "version": "5.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz", "integrity": "sha1-scJvyb6AoN3eay5F+1DVLHxsBfQ=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/client-common": "5.35.0" @@ -220,7 +216,6 @@ "version": "5.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz", "integrity": "sha1-KYFcW/UBFI6mGe2WuuCcCZpcztQ=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/client-common": "5.35.0" @@ -233,7 +228,6 @@ "version": "5.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz", "integrity": "sha1-kJW4Cgrnf1dANiYfRAU2NuMdG68=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/client-common": "5.35.0" @@ -260,7 +254,6 @@ "version": "0.2003.15", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular-devkit/architect/-/architect-0.2003.15.tgz", "integrity": "sha1-CdTlICBdz+RK4N1eT4ZVlsH97Jg=", - "dev": true, "license": "MIT", "dependencies": { "@angular-devkit/core": "20.3.15", @@ -276,7 +269,6 @@ "version": "20.3.15", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular-devkit/core/-/core-20.3.15.tgz", "integrity": "sha1-1h4rkVsjR9qfM8N/OcbBY8xdKeo=", - "dev": true, "license": "MIT", "dependencies": { "ajv": "8.17.1", @@ -304,7 +296,6 @@ "version": "20.3.15", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular-devkit/schematics/-/schematics-20.3.15.tgz", "integrity": "sha1-fdL5ZqUw+tsMQl7QH7PLswPfhoo=", - "dev": true, "license": "MIT", "dependencies": { "@angular-devkit/core": "20.3.15", @@ -319,6 +310,22 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular/animations": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/animations/-/animations-20.3.16.tgz", + "integrity": "sha1-EOyqC/UkXEkN7QXGAI+x0JBcRq8=", + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/core": "20.3.16" + } + }, "node_modules/@angular/build": { "version": "20.3.15", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/build/-/build-20.3.15.tgz", @@ -418,11 +425,25 @@ } } }, + "node_modules/@angular/cdk": { + "version": "20.2.14", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/cdk/-/cdk-20.2.14.tgz", + "integrity": "sha1-XajSmgaIzwxvWNt3ruivoKBfquo=", + "license": "MIT", + "dependencies": { + "parse5": "^8.0.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": "^20.0.0 || ^21.0.0", + "@angular/core": "^20.0.0 || ^21.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, "node_modules/@angular/cli": { "version": "20.3.15", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/cli/-/cli-20.3.15.tgz", "integrity": "sha1-E+7Dz3O+tAA0inTeys/i6L+QhYA=", - "dev": true, "license": "MIT", "dependencies": { "@angular-devkit/architect": "0.2003.15", @@ -557,6 +578,23 @@ "rxjs": "^6.5.3 || ^7.4.0" } }, + "node_modules/@angular/material": { + "version": "20.2.14", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/material/-/material-20.2.14.tgz", + "integrity": "sha1-kwJ6nrBS1jno5PG9ej1l4HLcJwI=", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/cdk": "20.2.14", + "@angular/common": "^20.0.0 || ^21.0.0", + "@angular/core": "^20.0.0 || ^21.0.0", + "@angular/forms": "^20.0.0 || ^21.0.0", + "@angular/platform-browser": "^20.0.0 || ^21.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, "node_modules/@angular/platform-browser": { "version": "20.3.16", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/platform-browser/-/platform-browser-20.3.16.tgz", @@ -896,6 +934,16 @@ "integrity": "sha1-/WgKRqikQ3/uayTqVzPotNnyYJw=", "license": "MIT" }, + "node_modules/@blackbaud/skyux-design-tokens": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@blackbaud/skyux-design-tokens/-/skyux-design-tokens-4.1.0.tgz", + "integrity": "sha1-lQOT2acOOHDTNpbidTJqL0RgmIo=", + "license": "MIT", + "engines": { + "node": ">= 4.2.1", + "npm": ">= 3" + } + }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@colors/colors/-/colors-1.5.0.tgz", @@ -1352,7 +1400,6 @@ "version": "1.19.9", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@hono/node-server/-/node-server-1.19.9.tgz", "integrity": "sha1-jzcRmxrPKD/T9gNfPRNW/bl6Caw=", - "dev": true, "license": "MIT", "engines": { "node": ">=18.14.1" @@ -1365,7 +1412,6 @@ "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/ansi/-/ansi-1.0.2.tgz", "integrity": "sha1-Z0pMTYGtRgaVyyofxp14zRh/M34=", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -1375,7 +1421,6 @@ "version": "4.3.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/checkbox/-/checkbox-4.3.2.tgz", "integrity": "sha1-4Ug+ZRnW/++XKBpU0qW6oNgbPzs=", - "dev": true, "license": "MIT", "dependencies": { "@inquirer/ansi": "^1.0.2", @@ -1400,7 +1445,6 @@ "version": "5.1.14", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/confirm/-/confirm-5.1.14.tgz", "integrity": "sha1-5jIe31GjpfVNxUi4Dva6iYkTUa0=", - "dev": true, "license": "MIT", "dependencies": { "@inquirer/core": "^10.1.15", @@ -1422,7 +1466,6 @@ "version": "10.3.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/core/-/core-10.3.2.tgz", "integrity": "sha1-U1l5/z/0/h58xPg+IyBQTHQ7fiA=", - "dev": true, "license": "MIT", "dependencies": { "@inquirer/ansi": "^1.0.2", @@ -1450,7 +1493,6 @@ "version": "4.2.23", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/editor/-/editor-4.2.23.tgz", "integrity": "sha1-/gRqO/2ukxJi3pjBBSQ315QyLgs=", - "dev": true, "license": "MIT", "dependencies": { "@inquirer/core": "^10.3.2", @@ -1473,7 +1515,6 @@ "version": "4.0.23", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/expand/-/expand-4.0.23.tgz", "integrity": "sha1-o4tfMiJtdXF8Nwvf7XkjE7kr3AU=", - "dev": true, "license": "MIT", "dependencies": { "@inquirer/core": "^10.3.2", @@ -1496,7 +1537,6 @@ "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/external-editor/-/external-editor-1.0.3.tgz", "integrity": "sha1-wjmIKR7mdikP2rP9MG5kAQptE7g=", - "dev": true, "license": "MIT", "dependencies": { "chardet": "^2.1.1", @@ -1518,7 +1558,6 @@ "version": "1.0.15", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/figures/-/figures-1.0.15.tgz", "integrity": "sha1-27Se2A3xHfdCaAI7SWrF2azSKzo=", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -1528,7 +1567,6 @@ "version": "4.3.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/input/-/input-4.3.1.tgz", "integrity": "sha1-d4aDtMTE2V0F1LBcSoVJZLc1ZbQ=", - "dev": true, "license": "MIT", "dependencies": { "@inquirer/core": "^10.3.2", @@ -1550,7 +1588,6 @@ "version": "3.0.23", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/number/-/number-3.0.23.tgz", "integrity": "sha1-P97CVA1kIJP9dSaBj9jUvcczUJQ=", - "dev": true, "license": "MIT", "dependencies": { "@inquirer/core": "^10.3.2", @@ -1572,7 +1609,6 @@ "version": "4.0.23", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/password/-/password-4.0.23.tgz", "integrity": "sha1-ufUYfIyS/Xqp7Oudjy6tDX57AA0=", - "dev": true, "license": "MIT", "dependencies": { "@inquirer/ansi": "^1.0.2", @@ -1595,7 +1631,6 @@ "version": "7.8.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/prompts/-/prompts-7.8.2.tgz", "integrity": "sha1-XZ2NcnODG9US6c+vPYJ8zg8urg8=", - "dev": true, "license": "MIT", "dependencies": { "@inquirer/checkbox": "^4.2.1", @@ -1625,7 +1660,6 @@ "version": "4.1.11", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/rawlist/-/rawlist-4.1.11.tgz", "integrity": "sha1-MTyMP/zLfUHpkMYGRlcmtKiYoDM=", - "dev": true, "license": "MIT", "dependencies": { "@inquirer/core": "^10.3.2", @@ -1648,7 +1682,6 @@ "version": "3.2.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/search/-/search-3.2.2.tgz", "integrity": "sha1-TMb9V03NQ05DmbrcN8dCw/1TSsg=", - "dev": true, "license": "MIT", "dependencies": { "@inquirer/core": "^10.3.2", @@ -1672,7 +1705,6 @@ "version": "4.4.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/select/-/select-4.4.2.tgz", "integrity": "sha1-Ksj8qWCRPxjx0bNTI+2PzSfYkyM=", - "dev": true, "license": "MIT", "dependencies": { "@inquirer/ansi": "^1.0.2", @@ -1697,7 +1729,6 @@ "version": "3.0.10", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/type/-/type-3.0.10.tgz", "integrity": "sha1-Ee1WTseEMqIA6iYBohLSSvgVDVA=", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -1715,7 +1746,6 @@ "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", "integrity": "sha1-MIHa28NGBmG3UedZHX+upd853Sk=", - "dev": true, "license": "MIT", "engines": { "node": "20 || >=22" @@ -1725,7 +1755,6 @@ "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz", "integrity": "sha1-DvWpLZHy//KjdkbOVNqeX1mfbv8=", - "dev": true, "license": "MIT", "dependencies": { "@isaacs/balanced-match": "^4.0.1" @@ -1738,7 +1767,6 @@ "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", "integrity": "sha1-LVmuOrSzj7QnC/oj0w+OLobH/jI=", - "dev": true, "license": "ISC", "dependencies": { "minipass": "^7.0.4" @@ -1782,7 +1810,6 @@ "version": "1.5.5", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", "integrity": "sha1-aRKwDSxjHA0Vzhp6tXzWV/Ko+Lo=", - "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { @@ -1800,7 +1827,6 @@ "version": "3.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz", "integrity": "sha1-fggbTc3i8b1awWxiDuJAKQjwP+c=", - "dev": true, "license": "MIT", "dependencies": { "@inquirer/type": "^3.0.7" @@ -1915,7 +1941,6 @@ "version": "1.25.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@modelcontextprotocol/sdk/-/sdk-1.25.2.tgz", "integrity": "sha1-IoRWC04ES0zl8yjuGAkxEQy4xc8=", - "dev": true, "license": "MIT", "dependencies": { "@hono/node-server": "^1.19.7", @@ -2362,7 +2387,6 @@ "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/agent/-/agent-4.0.0.tgz", "integrity": "sha1-K7KxwKFwlAURVUp5hq4qi+n+3M4=", - "dev": true, "license": "ISC", "dependencies": { "agent-base": "^7.1.0", @@ -2379,7 +2403,6 @@ "version": "11.2.5", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", - "dev": true, "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" @@ -2389,7 +2412,6 @@ "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/fs/-/fs-5.0.0.tgz", "integrity": "sha1-Z0YZdxkHNCs9GsGXqvHe62V+NTk=", - "dev": true, "license": "ISC", "dependencies": { "semver": "^7.3.5" @@ -2402,7 +2424,6 @@ "version": "7.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/git/-/git-7.0.1.tgz", "integrity": "sha1-0fZGKvDpkBU25Ee+6pIrwg3MV2I=", - "dev": true, "license": "ISC", "dependencies": { "@npmcli/promise-spawn": "^9.0.0", @@ -2422,7 +2443,6 @@ "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ini/-/ini-6.0.0.tgz", "integrity": "sha1-78dkKydvajfSL99W71CInXFGvzA=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -2432,7 +2452,6 @@ "version": "3.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-3.1.2.tgz", "integrity": "sha1-COU0nbA/8GVPOz7+eY+UqkvaT48=", - "dev": true, "license": "BlueOak-1.0.0", "engines": { "node": ">=20" @@ -2442,7 +2461,6 @@ "version": "11.2.5", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", - "dev": true, "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" @@ -2452,7 +2470,6 @@ "version": "6.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -2462,7 +2479,6 @@ "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-6.0.0.tgz", "integrity": "sha1-o6choUzdm5kaci5JPBd+7/gv8yo=", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^3.1.1" @@ -2478,7 +2494,6 @@ "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/installed-package-contents/-/installed-package-contents-4.0.0.tgz", "integrity": "sha1-GOUHBwTP4CePmuSAOFWLbv1DhCY=", - "dev": true, "license": "ISC", "dependencies": { "npm-bundled": "^5.0.0", @@ -2495,7 +2510,6 @@ "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/node-gyp/-/node-gyp-5.0.0.tgz", "integrity": "sha1-NUdaWLXXkXZKclIjEZehTe7+jkc=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -2505,7 +2519,6 @@ "version": "7.0.4", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/package-json/-/package-json-7.0.4.tgz", "integrity": "sha1-9BeOXZC4iPO99maRVwb2E8LYcNc=", - "dev": true, "license": "ISC", "dependencies": { "@npmcli/git": "^7.0.0", @@ -2524,7 +2537,6 @@ "version": "13.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/glob/-/glob-13.0.1.tgz", "integrity": "sha1-xZolAMml8auc3TcCF87WPCqoHmA=", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "minimatch": "^10.1.2", @@ -2542,7 +2554,6 @@ "version": "10.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-10.1.2.tgz", "integrity": "sha1-bD8on53mbWKPo/6xhCgEOWpD2Bw=", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/brace-expansion": "^5.0.1" @@ -2558,7 +2569,6 @@ "version": "6.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -2568,7 +2578,6 @@ "version": "9.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/promise-spawn/-/promise-spawn-9.0.1.tgz", "integrity": "sha1-IOgMvdLyStJjoV3j67sWc8uCAFs=", - "dev": true, "license": "ISC", "dependencies": { "which": "^6.0.0" @@ -2581,7 +2590,6 @@ "version": "3.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-3.1.2.tgz", "integrity": "sha1-COU0nbA/8GVPOz7+eY+UqkvaT48=", - "dev": true, "license": "BlueOak-1.0.0", "engines": { "node": ">=20" @@ -2591,7 +2599,6 @@ "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-6.0.0.tgz", "integrity": "sha1-o6choUzdm5kaci5JPBd+7/gv8yo=", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^3.1.1" @@ -2607,7 +2614,6 @@ "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/redact/-/redact-4.0.0.tgz", "integrity": "sha1-yREh4Ct1WamXYUosEFfNf8Z2CMQ=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -2617,7 +2623,6 @@ "version": "10.0.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/run-script/-/run-script-10.0.3.tgz", "integrity": "sha1-hcFs2JPkTK1e3e1EGwAtih06io4=", - "dev": true, "license": "ISC", "dependencies": { "@npmcli/node-gyp": "^5.0.0", @@ -2635,7 +2640,6 @@ "version": "3.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-3.1.2.tgz", "integrity": "sha1-COU0nbA/8GVPOz7+eY+UqkvaT48=", - "dev": true, "license": "BlueOak-1.0.0", "engines": { "node": ">=20" @@ -2645,7 +2649,6 @@ "version": "6.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -2655,7 +2658,6 @@ "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-6.0.0.tgz", "integrity": "sha1-o6choUzdm5kaci5JPBd+7/gv8yo=", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^3.1.1" @@ -3297,7 +3299,6 @@ "version": "20.3.15", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@schematics/angular/-/angular-20.3.15.tgz", "integrity": "sha1-tm2cO1VQvGYPuA7I/e6tQ9+ad20=", - "dev": true, "license": "MIT", "dependencies": { "@angular-devkit/core": "20.3.15", @@ -3314,7 +3315,6 @@ "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/bundle/-/bundle-4.0.0.tgz", "integrity": "sha1-hU7aQ+tqWTUgN+SQABd8iQRXL4M=", - "dev": true, "license": "Apache-2.0", "dependencies": { "@sigstore/protobuf-specs": "^0.5.0" @@ -3327,7 +3327,6 @@ "version": "3.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/core/-/core-3.1.0.tgz", "integrity": "sha1-tBjec/VjM62eNpuRUXPYyY6bltU=", - "dev": true, "license": "Apache-2.0", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -3337,7 +3336,6 @@ "version": "0.5.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/protobuf-specs/-/protobuf-specs-0.5.0.tgz", "integrity": "sha1-5fAp7cs6QymFOgm2AwEeYQQ+sAU=", - "dev": true, "license": "Apache-2.0", "engines": { "node": "^18.17.0 || >=20.5.0" @@ -3347,7 +3345,6 @@ "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/sign/-/sign-4.1.0.tgz", "integrity": "sha1-Y98VoTczeyn0Y6HRxR4ffUwdsvE=", - "dev": true, "license": "Apache-2.0", "dependencies": { "@sigstore/bundle": "^4.0.0", @@ -3365,7 +3362,6 @@ "version": "6.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -3375,7 +3371,6 @@ "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/tuf/-/tuf-4.0.1.tgz", "integrity": "sha1-mwgDkJNteeo7aok7ZLrzEj6S1tM=", - "dev": true, "license": "Apache-2.0", "dependencies": { "@sigstore/protobuf-specs": "^0.5.0", @@ -3389,7 +3384,6 @@ "version": "3.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/verify/-/verify-3.1.0.tgz", "integrity": "sha1-QEbUGGQh23eVAf6H+lrKpdTSGwg=", - "dev": true, "license": "Apache-2.0", "dependencies": { "@sigstore/bundle": "^4.0.0", @@ -3400,6 +3394,374 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/@skyux/assets": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/assets/-/assets-13.12.0.tgz", + "integrity": "sha1-gD5bl7dTNZf9+oR/M7gH0wliBS4=", + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15" + } + }, + "node_modules/@skyux/config": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/config/-/config-13.12.0.tgz", + "integrity": "sha1-thPJzGgzwVnOkxXaOAmUSYDFxnk=", + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15" + } + }, + "node_modules/@skyux/core": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/core/-/core-13.12.0.tgz", + "integrity": "sha1-MCAJhiO07YhxT+5IoDZd4VbGhK8=", + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/cdk": "^20.2.14", + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15", + "@angular/platform-browser": "^20.3.15", + "@angular/router": "^20.3.15", + "@skyux/i18n": "13.12.0" + } + }, + "node_modules/@skyux/forms": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/forms/-/forms-13.12.0.tgz", + "integrity": "sha1-12x5BymKmKZcHu/qJXLICmm9ZhI=", + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/cdk": "^20.2.14", + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15", + "@angular/forms": "^20.3.15", + "@angular/platform-browser": "^20.3.15", + "@skyux-sdk/testing": "13.12.0", + "@skyux/core": "13.12.0", + "@skyux/help-inline": "13.12.0", + "@skyux/i18n": "13.12.0", + "@skyux/icon": "13.12.0", + "@skyux/indicators": "13.12.0", + "@skyux/popovers": "13.12.0", + "@skyux/theme": "13.12.0" + }, + "peerDependenciesMeta": { + "@skyux-sdk/testing": { + "optional": true + } + } + }, + "node_modules/@skyux/help-inline": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/help-inline/-/help-inline-13.12.0.tgz", + "integrity": "sha1-jfs3Tu4gVfpveQI7B6lBDB2x8lQ=", + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/cdk": "^20.2.14", + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15", + "@skyux/core": "13.12.0", + "@skyux/i18n": "13.12.0", + "@skyux/icon": "13.12.0", + "@skyux/popovers": "13.12.0", + "@skyux/theme": "13.12.0" + } + }, + "node_modules/@skyux/i18n": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/i18n/-/i18n-13.12.0.tgz", + "integrity": "sha1-/9ML4UzeqTfnCbCyLkyzRy30AAs=", + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/cli": "^20.3.13", + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15", + "@skyux/assets": "13.12.0" + } + }, + "node_modules/@skyux/icon": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/icon/-/icon-13.12.0.tgz", + "integrity": "sha1-DBuP7GVOxzT9mvbG5gZUYmsFnPo=", + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/cdk": "^20.2.14", + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15", + "@skyux/core": "13.12.0", + "@skyux/theme": "13.12.0" + } + }, + "node_modules/@skyux/indicators": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/indicators/-/indicators-13.12.0.tgz", + "integrity": "sha1-e/VpB6PP3b7249HaNj2NzXFEPOs=", + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/animations": "^20.3.15", + "@angular/cdk": "^20.2.14", + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15", + "@angular/platform-browser": "^20.3.15", + "@skyux-sdk/testing": "13.12.0", + "@skyux/core": "13.12.0", + "@skyux/help-inline": "13.12.0", + "@skyux/i18n": "13.12.0", + "@skyux/icon": "13.12.0", + "@skyux/theme": "13.12.0" + }, + "peerDependenciesMeta": { + "@skyux-sdk/testing": { + "optional": true + } + } + }, + "node_modules/@skyux/layout": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/layout/-/layout-13.12.0.tgz", + "integrity": "sha1-GMiFOh3HJ2REOhuBhH7ODp7LNFo=", + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/animations": "^20.3.15", + "@angular/cdk": "^20.2.14", + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15", + "@angular/forms": "^20.3.15", + "@angular/platform-browser": "^20.3.15", + "@angular/router": "^20.3.15", + "@skyux-sdk/testing": "13.12.0", + "@skyux/core": "13.12.0", + "@skyux/forms": "13.12.0", + "@skyux/help-inline": "13.12.0", + "@skyux/i18n": "13.12.0", + "@skyux/icon": "13.12.0", + "@skyux/indicators": "13.12.0", + "@skyux/modals": "13.12.0", + "@skyux/router": "13.12.0", + "@skyux/theme": "13.12.0" + }, + "peerDependenciesMeta": { + "@skyux-sdk/testing": { + "optional": true + } + } + }, + "node_modules/@skyux/modals": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/modals/-/modals-13.12.0.tgz", + "integrity": "sha1-jRuH6ZzZTOJxE5qkrI3SVPbsc1E=", + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/cdk": "^20.2.14", + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15", + "@angular/router": "^20.3.15", + "@skyux/core": "13.12.0", + "@skyux/help-inline": "13.12.0", + "@skyux/i18n": "13.12.0", + "@skyux/icon": "13.12.0", + "@skyux/indicators": "13.12.0", + "@skyux/theme": "13.12.0" + } + }, + "node_modules/@skyux/packages": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/packages/-/packages-13.12.0.tgz", + "integrity": "sha1-dcgzzy2fbqjChZevi1YzLSI5PuM=", + "license": "MIT", + "dependencies": { + "fs-extra": "11.3.0", + "jsonc-parser": "3.3.1", + "parse5": "7.3.0", + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/cli": "^20.3.13", + "@angular/core": "^20.3.15" + } + }, + "node_modules/@skyux/packages/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/entities/-/entities-6.0.1.tgz", + "integrity": "sha1-wow0pDN5yn9h0HQTCy9fcCCjBpQ=", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@skyux/packages/node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha1-DaztE2u69lpVWjJnGa+TGtx6MU0=", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@skyux/packages/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha1-fCZb0bZd5pd0eDAAh8mfHIQ4P2I=", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@skyux/packages/node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha1-1+Ik+nI5nHoXUJn0X8KtAksF7AU=", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/@skyux/packages/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha1-Fo78IYCWTmOG0GHglN9hr+I5sY0=", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@skyux/pages": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/pages/-/pages-13.12.0.tgz", + "integrity": "sha1-0sfjr0YuUA9o5essoYgrLzEwoQc=", + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/cdk": "^20.2.14", + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15", + "@angular/router": "^20.3.15", + "@skyux/core": "13.12.0", + "@skyux/i18n": "13.12.0", + "@skyux/icon": "13.12.0", + "@skyux/indicators": "13.12.0", + "@skyux/layout": "13.12.0", + "@skyux/modals": "13.12.0", + "@skyux/router": "13.12.0", + "@skyux/theme": "13.12.0" + } + }, + "node_modules/@skyux/popovers": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/popovers/-/popovers-13.12.0.tgz", + "integrity": "sha1-WjES7aFFo87ffmNemdr48wmNndg=", + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/animations": "^20.3.15", + "@angular/cdk": "^20.2.14", + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15", + "@angular/platform-browser": "^20.3.15", + "@skyux-sdk/testing": "13.12.0", + "@skyux/core": "13.12.0", + "@skyux/i18n": "13.12.0", + "@skyux/icon": "13.12.0", + "@skyux/theme": "13.12.0" + }, + "peerDependenciesMeta": { + "@skyux-sdk/testing": { + "optional": true + } + } + }, + "node_modules/@skyux/router": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/router/-/router-13.12.0.tgz", + "integrity": "sha1-/hsUnXqLQgRRscIbS/gIsk9rJc4=", + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/cdk": "^20.2.14", + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15", + "@angular/router": "^20.3.15", + "@skyux/config": "13.12.0", + "@skyux/core": "13.12.0" + } + }, + "node_modules/@skyux/theme": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@skyux/theme/-/theme-13.12.0.tgz", + "integrity": "sha1-pKPifI0U5De+ZC6zezPuowpl0FY=", + "license": "MIT", + "dependencies": { + "@blackbaud/skyux-design-tokens": "4.1.0", + "fontfaceobserver": "2.3.0", + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/common": "^20.3.15", + "@angular/core": "^20.3.15" + } + }, "node_modules/@socket.io/component-emitter": { "version": "3.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", @@ -3411,7 +3773,6 @@ "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", "integrity": "sha1-pS9ho9c3SDP8qUWyVJvDCi3UDQo=", - "dev": true, "license": "MIT", "engines": { "node": "^16.14.0 || >=18.0.0" @@ -3421,7 +3782,6 @@ "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@tufjs/models/-/models-4.1.0.tgz", "integrity": "sha1-SUs5z14vaFXYADEkbdI22AhgabM=", - "dev": true, "license": "MIT", "dependencies": { "@tufjs/canonical-json": "2.0.0", @@ -3435,7 +3795,6 @@ "version": "10.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-10.1.2.tgz", "integrity": "sha1-bD8on53mbWKPo/6xhCgEOWpD2Bw=", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/brace-expansion": "^5.0.1" @@ -3475,7 +3834,7 @@ "version": "25.2.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@types/node/-/node-25.2.1.tgz", "integrity": "sha1-N4Ah+edlu2W6Nt4W88OoYiwfoD0=", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "undici-types": "~7.16.0" @@ -3498,14 +3857,12 @@ "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", "integrity": "sha1-53qX+9NFt22DJF7c0X05OxtB+zE=", - "dev": true, "license": "BSD-2-Clause" }, "node_modules/abbrev": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/abbrev/-/abbrev-4.0.0.tgz", "integrity": "sha1-7JM/Die2zWDom1xrKjBK9CIJuwU=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -3515,7 +3872,6 @@ "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/accepts/-/accepts-2.0.0.tgz", "integrity": "sha1-u89LpQdUZ/PyEx6rPP/HPC9deJU=", - "dev": true, "license": "MIT", "dependencies": { "mime-types": "^3.0.0", @@ -3529,7 +3885,6 @@ "version": "7.1.4", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/agent-base/-/agent-base-7.1.4.tgz", "integrity": "sha1-48121MVI7oldPD/Y3B9sW5Ay56g=", - "dev": true, "license": "MIT", "engines": { "node": ">= 14" @@ -3539,7 +3894,6 @@ "version": "8.17.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ajv/-/ajv-8.17.1.tgz", "integrity": "sha1-N9mlx3ava8ktf0+VEOukwKYNEaY=", - "dev": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -3556,7 +3910,6 @@ "version": "3.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ajv-formats/-/ajv-formats-3.0.1.tgz", "integrity": "sha1-PV3HYryhdnnDwup+kK1rdTIwlXg=", - "dev": true, "license": "MIT", "dependencies": { "ajv": "^8.0.0" @@ -3574,7 +3927,6 @@ "version": "5.35.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/algoliasearch/-/algoliasearch-5.35.0.tgz", "integrity": "sha1-zhLR0ofW9KgLmZhWj4Bsktq7pWY=", - "dev": true, "license": "MIT", "dependencies": { "@algolia/abtesting": "1.1.0", @@ -3600,7 +3952,6 @@ "version": "7.3.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-escapes/-/ansi-escapes-7.3.0.tgz", "integrity": "sha1-U5W7dLIVCkodbjwlZfSuynjShic=", - "dev": true, "license": "MIT", "dependencies": { "environment": "^1.0.0" @@ -3616,7 +3967,6 @@ "version": "6.2.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-regex/-/ansi-regex-6.2.2.tgz", "integrity": "sha1-YCFu6kZNhkWXzigyAAc4oFiWUME=", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -3629,7 +3979,6 @@ "version": "6.2.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-styles/-/ansi-styles-6.2.3.tgz", "integrity": "sha1-wETV3MUhoHZBNHJZehrLHxA8QEE=", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -3729,7 +4078,6 @@ "version": "2.2.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/body-parser/-/body-parser-2.2.2.tgz", "integrity": "sha1-GjLNuWa+r2jeUKnfvltY+Dy4iQw=", - "dev": true, "license": "MIT", "dependencies": { "bytes": "^3.1.2", @@ -3826,7 +4174,6 @@ "version": "3.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/bytes/-/bytes-3.1.2.tgz", "integrity": "sha1-iwvuuYYFrfGxKPpDhkA8AJ4CIaU=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -3836,7 +4183,6 @@ "version": "20.0.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cacache/-/cacache-20.0.3.tgz", "integrity": "sha1-vWUgXV5thuArv6+OTOYAjxuB0Rk=", - "dev": true, "license": "ISC", "dependencies": { "@npmcli/fs": "^5.0.0", @@ -3859,7 +4205,6 @@ "version": "13.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/glob/-/glob-13.0.1.tgz", "integrity": "sha1-xZolAMml8auc3TcCF87WPCqoHmA=", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "minimatch": "^10.1.2", @@ -3877,7 +4222,6 @@ "version": "11.2.5", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", - "dev": true, "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" @@ -3887,7 +4231,6 @@ "version": "10.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-10.1.2.tgz", "integrity": "sha1-bD8on53mbWKPo/6xhCgEOWpD2Bw=", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/brace-expansion": "^5.0.1" @@ -3903,7 +4246,6 @@ "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", "integrity": "sha1-S1QowiK+mF15w9gmV0edvgtZstY=", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -3917,7 +4259,6 @@ "version": "1.0.4", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/call-bound/-/call-bound-1.0.4.tgz", "integrity": "sha1-I43pNdKippKSjFOMfM+pEGf9Bio=", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -3955,7 +4296,6 @@ "version": "5.6.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chalk/-/chalk-5.6.2.tgz", "integrity": "sha1-sSOLbiPqM3r3HH+KKV21rwwViuo=", - "dev": true, "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" @@ -3968,14 +4308,13 @@ "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chardet/-/chardet-2.1.1.tgz", "integrity": "sha1-XHVZNwSmQvce5TcX3yNAMeZTc8g=", - "dev": true, "license": "MIT" }, "node_modules/chokidar": { "version": "4.0.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chokidar/-/chokidar-4.0.3.tgz", "integrity": "sha1-e+N6TAPJruHs/oYqSiOyxwwgXTA=", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "readdirp": "^4.0.1" @@ -3991,7 +4330,6 @@ "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chownr/-/chownr-3.0.0.tgz", "integrity": "sha1-mFXmTs0kCpzEJnzopKpdJKHaFeQ=", - "dev": true, "license": "BlueOak-1.0.0", "engines": { "node": ">=18" @@ -4001,7 +4339,6 @@ "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cli-cursor/-/cli-cursor-5.0.0.tgz", "integrity": "sha1-JKSDHs9aawHd6zL7caSyCIsNzjg=", - "dev": true, "license": "MIT", "dependencies": { "restore-cursor": "^5.0.0" @@ -4017,7 +4354,6 @@ "version": "2.9.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cli-spinners/-/cli-spinners-2.9.2.tgz", "integrity": "sha1-F3Oo9LnE1qwxVj31Oz/B15Ri/kE=", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -4030,7 +4366,6 @@ "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cli-truncate/-/cli-truncate-4.0.0.tgz", "integrity": "sha1-bMKKKST+6eJc6R6XPbVscGbmFyo=", - "dev": true, "license": "MIT", "dependencies": { "slice-ansi": "^5.0.0", @@ -4047,7 +4382,6 @@ "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cli-width/-/cli-width-4.1.0.tgz", "integrity": "sha1-QtqsQdPCVO84rYrAN2chMBc2kcU=", - "dev": true, "license": "ISC", "engines": { "node": ">= 12" @@ -4057,7 +4391,6 @@ "version": "9.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cliui/-/cliui-9.0.1.tgz", "integrity": "sha1-b3iQ84b28feZU63B943sRvzC0pE=", - "dev": true, "license": "ISC", "dependencies": { "string-width": "^7.2.0", @@ -4072,7 +4405,6 @@ "version": "9.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-9.0.2.tgz", "integrity": "sha1-lWgy3qlJQwbm0gnrhxZDu4c9fJg=", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^6.2.1", @@ -4090,7 +4422,6 @@ "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -4103,14 +4434,12 @@ "version": "1.1.4", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/color-name/-/color-name-1.1.4.tgz", "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true, "license": "MIT" }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/colorette/-/colorette-2.0.20.tgz", "integrity": "sha1-nreT5oMwZ/cjWQL807CZF6AAqVo=", - "dev": true, "license": "MIT" }, "node_modules/concat-map": { @@ -4209,7 +4538,6 @@ "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/content-disposition/-/content-disposition-1.0.1.tgz", "integrity": "sha1-qLe76ykEvv37Z4flwMCGlZ9gX5s=", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -4223,7 +4551,6 @@ "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/content-type/-/content-type-1.0.5.tgz", "integrity": "sha1-i3cxYmVtHRCGeEyPI6VM5tc9eRg=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -4240,7 +4567,6 @@ "version": "0.7.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cookie/-/cookie-0.7.2.tgz", "integrity": "sha1-VWNpxHKiupEPKXmJG1JrNDYjftc=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -4250,7 +4576,6 @@ "version": "1.2.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cookie-signature/-/cookie-signature-1.2.2.tgz", "integrity": "sha1-V8f8PMKTrKuf7FTXPhVpDr5KF5M=", - "dev": true, "license": "MIT", "engines": { "node": ">=6.6.0" @@ -4260,7 +4585,6 @@ "version": "2.8.6", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cors/-/cors-2.8.6.tgz", "integrity": "sha1-/13Wm9leVHUDgg0pq6T4+vjf7JY=", - "dev": true, "license": "MIT", "dependencies": { "object-assign": "^4", @@ -4278,7 +4602,6 @@ "version": "7.0.6", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha1-ilj+ePANzXDDcEUXWd+/rwPo7p8=", - "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -4340,7 +4663,6 @@ "version": "4.4.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/debug/-/debug-4.4.3.tgz", "integrity": "sha1-xq5DLZvZZiWC/OCHCbA4xY6ePWo=", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -4358,7 +4680,6 @@ "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/depd/-/depd-2.0.0.tgz", "integrity": "sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -4469,7 +4790,6 @@ "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha1-165mfh3INIL4tw/Q9u78UNow9Yo=", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", @@ -4484,7 +4804,6 @@ "version": "1.1.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true, "license": "MIT" }, "node_modules/electron-to-chromium": { @@ -4498,14 +4817,12 @@ "version": "10.6.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/emoji-regex/-/emoji-regex-10.6.0.tgz", "integrity": "sha1-vz1uj3+P0ipl2XA0dbwBRzV6aw0=", - "dev": true, "license": "MIT" }, "node_modules/encodeurl": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha1-e46omAd9fkCdOsRUdOo46vCFelg=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -4515,7 +4832,6 @@ "version": "0.1.13", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/encoding/-/encoding-0.1.13.tgz", "integrity": "sha1-VldK/deR9UqOmyeFwFgqLSYhD6k=", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -4526,7 +4842,6 @@ "version": "0.6.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha1-pS+AvzjaGVLrXGgXkHGYcaGnJQE=", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -4647,7 +4962,6 @@ "version": "2.2.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha1-QgOZ1BbOH76bwKB8Yvpo1n/Q+PI=", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -4657,7 +4971,6 @@ "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/environment/-/environment-1.1.0.tgz", "integrity": "sha1-jobGaxgPNjx6sxF4fgJZZl9FqfE=", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -4670,14 +4983,12 @@ "version": "2.0.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/err-code/-/err-code-2.0.3.tgz", "integrity": "sha1-I8Lzt1b/38YI0w4nyalBAkgH5/k=", - "dev": true, "license": "MIT" }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha1-mD6y+aZyTpMD9hrd8BHHLgngsPo=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -4687,7 +4998,6 @@ "version": "1.3.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -4697,7 +5007,6 @@ "version": "1.1.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/es-object-atoms/-/es-object-atoms-1.1.1.tgz", "integrity": "sha1-HE8sSDcydZfOadLKGQp/3RcjOME=", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -4752,7 +5061,6 @@ "version": "3.2.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/escalade/-/escalade-3.2.0.tgz", "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -4762,14 +5070,12 @@ "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true, "license": "MIT" }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -4786,7 +5092,6 @@ "version": "3.0.7", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/eventsource/-/eventsource-3.0.7.tgz", "integrity": "sha1-EVdiLi9Td7tq7yEUNycougwVaYk=", - "dev": true, "license": "MIT", "dependencies": { "eventsource-parser": "^3.0.1" @@ -4799,7 +5104,6 @@ "version": "3.0.6", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/eventsource-parser/-/eventsource-parser-3.0.6.tgz", "integrity": "sha1-KS4WXjTKy8k2w8knGe8ybUrrTpA=", - "dev": true, "license": "MIT", "engines": { "node": ">=18.0.0" @@ -4809,14 +5113,12 @@ "version": "3.1.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/exponential-backoff/-/exponential-backoff-3.1.3.tgz", "integrity": "sha1-Uc+SwcBJPHZgU/nTq+5ENMJE0vY=", - "dev": true, "license": "Apache-2.0" }, "node_modules/express": { "version": "5.2.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/express/-/express-5.2.1.tgz", "integrity": "sha1-jyHRW20yf5K0eU7PjLCKcvlWrAQ=", - "dev": true, "license": "MIT", "dependencies": { "accepts": "^2.0.0", @@ -4860,7 +5162,6 @@ "version": "7.5.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/express-rate-limit/-/express-rate-limit-7.5.1.tgz", "integrity": "sha1-jDpC9pIJo6HJaYkAcOzp4gqHnew=", - "dev": true, "license": "MIT", "engines": { "node": ">= 16" @@ -4883,14 +5184,12 @@ "version": "3.1.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", - "dev": true, "license": "MIT" }, "node_modules/fast-uri": { "version": "3.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fast-uri/-/fast-uri-3.1.0.tgz", "integrity": "sha1-Zu7P9sdkwN+bdi5iyn7c+1O07fo=", - "dev": true, "funding": [ { "type": "github", @@ -4907,7 +5206,6 @@ "version": "6.5.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fdir/-/fdir-6.5.0.tgz", "integrity": "sha1-7Sq5Z6MxreYvGNB32uGSaE1Q01A=", - "dev": true, "license": "MIT", "engines": { "node": ">=12.0.0" @@ -4938,7 +5236,6 @@ "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/finalhandler/-/finalhandler-2.1.1.tgz", "integrity": "sha1-osUXplWYUrzbBtH4vX9Rto+tgJk=", - "dev": true, "license": "MIT", "dependencies": { "debug": "^4.4.0", @@ -4984,11 +5281,16 @@ } } }, + "node_modules/fontfaceobserver": { + "version": "2.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz", + "integrity": "sha1-X7OSEW511QJLfsjk8s6SEG0UiMg=", + "license": "BSD-2-Clause" + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha1-ImmTZCiq1MFcfr6XeahL8LKoGBE=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -4998,7 +5300,6 @@ "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fresh/-/fresh-2.0.0.tgz", "integrity": "sha1-jdffahs6Gzpc8YbAWl3SZ2ImNaQ=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -5023,7 +5324,6 @@ "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fs-minipass/-/fs-minipass-3.0.3.tgz", "integrity": "sha1-eahZgcTcEgBl6W9iCGv2+dwmzFQ=", - "dev": true, "license": "ISC", "dependencies": { "minipass": "^7.0.3" @@ -5057,7 +5357,6 @@ "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5077,7 +5376,6 @@ "version": "2.0.5", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "dev": true, "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" @@ -5087,7 +5385,6 @@ "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", "integrity": "sha1-m8TKoTFwK0thcpy35Cc1vFUMnuY=", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -5100,7 +5397,6 @@ "version": "1.3.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/get-intrinsic/-/get-intrinsic-1.3.0.tgz", "integrity": "sha1-dD8OO2lkqTpUke0b/6rgVNf5jQE=", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -5125,7 +5421,6 @@ "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha1-FQs/J0OGnvPoUewMSdFbHRTQDuE=", - "dev": true, "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", @@ -5180,7 +5475,6 @@ "version": "1.2.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/gopd/-/gopd-1.2.0.tgz", "integrity": "sha1-ifVrghe9vIgCvSmd9tfxCB1+UaE=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -5193,7 +5487,6 @@ "version": "4.2.11", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=", - "dev": true, "license": "ISC" }, "node_modules/has-flag": { @@ -5210,7 +5503,6 @@ "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha1-/JxqeDoISVHQuXH+EBjegTcHozg=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -5239,7 +5531,6 @@ "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/hasown/-/hasown-2.0.2.tgz", "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", - "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -5252,7 +5543,6 @@ "version": "4.11.7", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/hono/-/hono-4.11.7.tgz", "integrity": "sha1-9bjQsLUD7w2ROiRgEt2lLqI9vlM=", - "dev": true, "license": "MIT", "peer": true, "engines": { @@ -5263,7 +5553,6 @@ "version": "9.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/hosted-git-info/-/hosted-git-info-9.0.2.tgz", "integrity": "sha1-s4yKgCsnTide7sz59KGxoKhVeto=", - "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^11.1.0" @@ -5276,7 +5565,6 @@ "version": "11.2.5", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", - "dev": true, "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" @@ -5326,14 +5614,12 @@ "version": "4.2.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", "integrity": "sha1-IF9Ntk+FYrdqT/kjWqUnmDmgndU=", - "dev": true, "license": "BSD-2-Clause" }, "node_modules/http-errors": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/http-errors/-/http-errors-2.0.1.tgz", "integrity": "sha1-NtL2W8kJyHkAGN02+02T2myq4Gs=", - "dev": true, "license": "MIT", "dependencies": { "depd": "~2.0.0", @@ -5369,7 +5655,6 @@ "version": "7.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha1-mosfJGhmwChQlIZYX2K48sGMJw4=", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.0", @@ -5383,7 +5668,6 @@ "version": "7.0.6", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha1-2o3+rH2hMLBcK6S1nJts1mYRprk=", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", @@ -5397,7 +5681,6 @@ "version": "0.7.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/iconv-lite/-/iconv-lite-0.7.2.tgz", "integrity": "sha1-0L3qw/ErSDW3NZwq2JxCKk0cxy4=", - "dev": true, "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -5414,7 +5697,6 @@ "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ignore-walk/-/ignore-walk-8.0.0.tgz", "integrity": "sha1-OAwXO63DoYxX/zNEB1PwBS9XKxQ=", - "dev": true, "license": "ISC", "dependencies": { "minimatch": "^10.0.3" @@ -5427,7 +5709,6 @@ "version": "10.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-10.1.2.tgz", "integrity": "sha1-bD8on53mbWKPo/6xhCgEOWpD2Bw=", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/brace-expansion": "^5.0.1" @@ -5450,7 +5731,6 @@ "version": "0.1.4", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, "license": "MIT", "engines": { "node": ">=0.8.19" @@ -5471,14 +5751,12 @@ "version": "2.0.4", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/inherits/-/inherits-2.0.4.tgz", "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", - "dev": true, "license": "ISC" }, "node_modules/ini": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ini/-/ini-5.0.0.tgz", "integrity": "sha1-p6RhUzmEPZqMzC2Fydgc+T/7xjg=", - "dev": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" @@ -5488,7 +5766,6 @@ "version": "10.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ip-address/-/ip-address-10.1.0.tgz", "integrity": "sha1-2Nz/s00OAuskFCdESm4j9bBZWqQ=", - "dev": true, "license": "MIT", "engines": { "node": ">= 12" @@ -5498,7 +5775,6 @@ "version": "1.9.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.10" @@ -5521,7 +5797,6 @@ "version": "2.16.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-core-module/-/is-core-module-2.16.1.tgz", "integrity": "sha1-KpiAGoSfQ+Kt1kT7trxiKbGaTvQ=", - "dev": true, "license": "MIT", "dependencies": { "hasown": "^2.0.2" @@ -5547,7 +5822,6 @@ "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", "integrity": "sha1-+uMWfHKedGP4RhzlErCApJJoqog=", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -5573,7 +5847,6 @@ "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-interactive/-/is-interactive-2.0.0.tgz", "integrity": "sha1-QMV2FFk4JtoRAK3mBZd41ZfxbpA=", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -5596,7 +5869,6 @@ "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-promise/-/is-promise-4.0.0.tgz", "integrity": "sha1-Qv+fhCBsGZHSbev1IN1cAQQt0vM=", - "dev": true, "license": "MIT" }, "node_modules/is-regex": { @@ -5622,7 +5894,6 @@ "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", "integrity": "sha1-CfCrDebTdE1I0mXruY9l0R8qmzo=", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -5648,7 +5919,6 @@ "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true, "license": "ISC" }, "node_modules/istanbul-lib-coverage": { @@ -5743,7 +6013,6 @@ "version": "6.1.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jose/-/jose-6.1.3.tgz", "integrity": "sha1-hFPXvoive7fWSgSB1qNaAUW6PqU=", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/panva" @@ -5773,7 +6042,6 @@ "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/json-parse-even-better-errors/-/json-parse-even-better-errors-5.0.0.tgz", "integrity": "sha1-k8ifUp8CLl2twjNAkyTwFnsekD4=", - "dev": true, "license": "MIT", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -5783,14 +6051,12 @@ "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=", - "dev": true, "license": "MIT" }, "node_modules/json-schema-typed": { "version": "8.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/json-schema-typed/-/json-schema-typed-8.0.2.tgz", "integrity": "sha1-6Y7nsYmf9KGEU00fFnwojGa77/Q=", - "dev": true, "license": "BSD-2-Clause" }, "node_modules/json5": { @@ -5810,7 +6076,6 @@ "version": "3.3.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jsonc-parser/-/jsonc-parser-3.3.1.tgz", "integrity": "sha1-8qUktPf9EePXkeVZl3rWC5i3mLQ=", - "dev": true, "license": "MIT" }, "node_modules/jsonfile": { @@ -5827,7 +6092,6 @@ "version": "1.3.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jsonparse/-/jsonparse-1.3.1.tgz", "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true, "engines": [ "node >= 0.2.0" ], @@ -6288,7 +6552,6 @@ "version": "9.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/listr2/-/listr2-9.0.1.tgz", "integrity": "sha1-PK0S2B2Zj4AkYh2bNclp26XaQQM=", - "dev": true, "license": "MIT", "dependencies": { "cli-truncate": "^4.0.0", @@ -6306,14 +6569,12 @@ "version": "5.0.4", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/eventemitter3/-/eventemitter3-5.0.4.tgz", "integrity": "sha1-qG1mFwQzcS3egUcHrFK1JxzrH+s=", - "dev": true, "license": "MIT" }, "node_modules/listr2/node_modules/wrap-ansi": { "version": "9.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-9.0.2.tgz", "integrity": "sha1-lWgy3qlJQwbm0gnrhxZDu4c9fJg=", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^6.2.1", @@ -6366,7 +6627,6 @@ "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/log-symbols/-/log-symbols-6.0.0.tgz", "integrity": "sha1-u5Xl8FMiZRysMMD+tkBPnyqKlDk=", - "dev": true, "license": "MIT", "dependencies": { "chalk": "^5.3.0", @@ -6383,7 +6643,6 @@ "version": "1.3.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", "integrity": "sha1-2CSYS2FsKSouGYIH1KYJmDhC9xQ=", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -6396,7 +6655,6 @@ "version": "6.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/log-update/-/log-update-6.1.0.tgz", "integrity": "sha1-GgT/OBZvlGR64a9WL0vWoVsbfNQ=", - "dev": true, "license": "MIT", "dependencies": { "ansi-escapes": "^7.0.0", @@ -6416,7 +6674,6 @@ "version": "5.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", "integrity": "sha1-BGsqbU9rFWsiM9MgfUtal4OZm5g=", - "dev": true, "license": "MIT", "dependencies": { "get-east-asian-width": "^1.3.1" @@ -6432,7 +6689,6 @@ "version": "7.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/slice-ansi/-/slice-ansi-7.1.2.tgz", "integrity": "sha1-rfe+cKptchYtkHzQ5tXBH1B7VAM=", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^6.2.1", @@ -6449,7 +6705,6 @@ "version": "9.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-9.0.2.tgz", "integrity": "sha1-lWgy3qlJQwbm0gnrhxZDu4c9fJg=", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^6.2.1", @@ -6494,7 +6749,6 @@ "version": "0.30.17", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/magic-string/-/magic-string-0.30.17.tgz", "integrity": "sha1-RQpElnPSRg5bvPupphkWoXFMdFM=", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" @@ -6520,7 +6774,6 @@ "version": "15.0.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/make-fetch-happen/-/make-fetch-happen-15.0.3.tgz", "integrity": "sha1-FXjXKIXys/nl2qEgs2oU/DGoRhA=", - "dev": true, "license": "ISC", "dependencies": { "@npmcli/agent": "^4.0.0", @@ -6543,7 +6796,6 @@ "version": "6.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -6553,7 +6805,6 @@ "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha1-oN10voHiqlwvJ+Zc4oNgXuTit/k=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -6563,7 +6814,6 @@ "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/media-typer/-/media-typer-1.1.0.tgz", "integrity": "sha1-ardLjy0zIPIGSyqHo455Mf86VWE=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -6573,7 +6823,6 @@ "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/merge-descriptors/-/merge-descriptors-2.0.0.tgz", "integrity": "sha1-6pIvZgY1oiSe5WXgRJ+VHmtgOAg=", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -6599,7 +6848,6 @@ "version": "1.54.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-db/-/mime-db-1.54.0.tgz", "integrity": "sha1-zds+5PnGRTDf9kAjZmHULLajFPU=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -6609,7 +6857,6 @@ "version": "3.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-types/-/mime-types-3.0.2.tgz", "integrity": "sha1-OQAtQYJXXVrwNv+hGBAPJSSy4qs=", - "dev": true, "license": "MIT", "dependencies": { "mime-db": "^1.54.0" @@ -6626,7 +6873,6 @@ "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mimic-function/-/mimic-function-5.0.1.tgz", "integrity": "sha1-rL4rM0n5m53qyn+3Dki4PpTmcHY=", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -6662,7 +6908,6 @@ "version": "7.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass/-/minipass-7.1.2.tgz", "integrity": "sha1-k6libOXl5mvU24aEnnUV6SNApwc=", - "dev": true, "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" @@ -6672,7 +6917,6 @@ "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-collect/-/minipass-collect-2.0.1.tgz", "integrity": "sha1-FiG8d+EiWKEsYNNOInbsXCBoCGM=", - "dev": true, "license": "ISC", "dependencies": { "minipass": "^7.0.3" @@ -6685,7 +6929,6 @@ "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-fetch/-/minipass-fetch-5.0.1.tgz", "integrity": "sha1-yNYtwDk/nUvBVkIff7EDIc1Uppc=", - "dev": true, "license": "MIT", "dependencies": { "minipass": "^7.0.3", @@ -6703,7 +6946,6 @@ "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-flush/-/minipass-flush-1.0.5.tgz", "integrity": "sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M=", - "dev": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -6716,7 +6958,6 @@ "version": "3.3.6", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass/-/minipass-3.3.6.tgz", "integrity": "sha1-e7o4TbOhUg0YycDlJRw0ROld2Uo=", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -6729,14 +6970,12 @@ "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yallist/-/yallist-4.0.0.tgz", "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", - "dev": true, "license": "ISC" }, "node_modules/minipass-pipeline": { "version": "1.2.4", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", "integrity": "sha1-aEcveXEcCEZXwGfFxq2Tzd6oIUw=", - "dev": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -6749,7 +6988,6 @@ "version": "3.3.6", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass/-/minipass-3.3.6.tgz", "integrity": "sha1-e7o4TbOhUg0YycDlJRw0ROld2Uo=", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -6762,14 +7000,12 @@ "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yallist/-/yallist-4.0.0.tgz", "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", - "dev": true, "license": "ISC" }, "node_modules/minipass-sized": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-sized/-/minipass-sized-2.0.0.tgz", "integrity": "sha1-Iijul+P3T2sium0TGa3bdiFTQwY=", - "dev": true, "license": "ISC", "dependencies": { "minipass": "^7.1.2" @@ -6782,7 +7018,6 @@ "version": "3.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minizlib/-/minizlib-3.1.0.tgz", "integrity": "sha1-atdsOo8QInybUdHJrI4wsn9aJRw=", - "dev": true, "license": "MIT", "dependencies": { "minipass": "^7.1.2" @@ -6818,7 +7053,6 @@ "version": "2.1.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ms/-/ms-2.1.3.tgz", "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", - "dev": true, "license": "MIT" }, "node_modules/msgpackr": { @@ -6859,7 +7093,6 @@ "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mute-stream/-/mute-stream-2.0.0.tgz", "integrity": "sha1-pURvwMUStxyDxE2QjVx7e0xJOys=", - "dev": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" @@ -6888,7 +7121,6 @@ "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/negotiator/-/negotiator-1.0.0.tgz", "integrity": "sha1-tskbtHFy1p+Tz9fDV7u1KQGbX2o=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -6906,7 +7138,6 @@ "version": "12.2.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/node-gyp/-/node-gyp-12.2.0.tgz", "integrity": "sha1-/3P29QnjPYt+do+In/yXOK0Rewc=", - "dev": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", @@ -6947,7 +7178,6 @@ "version": "3.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-3.1.2.tgz", "integrity": "sha1-COU0nbA/8GVPOz7+eY+UqkvaT48=", - "dev": true, "license": "BlueOak-1.0.0", "engines": { "node": ">=20" @@ -6957,7 +7187,6 @@ "version": "6.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -6967,7 +7196,6 @@ "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-6.0.0.tgz", "integrity": "sha1-o6choUzdm5kaci5JPBd+7/gv8yo=", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^3.1.1" @@ -6990,7 +7218,6 @@ "version": "9.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/nopt/-/nopt-9.0.0.tgz", "integrity": "sha1-a/8INrKWTSRQi2tBtamknE9KH5Y=", - "dev": true, "license": "ISC", "dependencies": { "abbrev": "^4.0.0" @@ -7016,7 +7243,6 @@ "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-bundled/-/npm-bundled-5.0.0.tgz", "integrity": "sha1-UCXYR8/QbHuNlDLfAWldATPZ7oA=", - "dev": true, "license": "ISC", "dependencies": { "npm-normalize-package-bin": "^5.0.0" @@ -7029,7 +7255,6 @@ "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-install-checks/-/npm-install-checks-8.0.0.tgz", "integrity": "sha1-9dGOkJu4MY2FCT6djzasQnwcvjA=", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "semver": "^7.1.1" @@ -7042,7 +7267,6 @@ "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz", "integrity": "sha1-KyB/8mDy5SXdzpM1ZhTi9zZyj4k=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -7052,7 +7276,6 @@ "version": "13.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-package-arg/-/npm-package-arg-13.0.0.tgz", "integrity": "sha1-vm/X5gxv1gW4X1cOiMrOReJBbIs=", - "dev": true, "license": "ISC", "dependencies": { "hosted-git-info": "^9.0.0", @@ -7068,7 +7291,6 @@ "version": "10.0.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-packlist/-/npm-packlist-10.0.3.tgz", "integrity": "sha1-4iwDk1f6+Bp10bDN9T3RE/K+2cc=", - "dev": true, "license": "ISC", "dependencies": { "ignore-walk": "^8.0.0", @@ -7082,7 +7304,6 @@ "version": "6.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -7092,7 +7313,6 @@ "version": "11.0.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-pick-manifest/-/npm-pick-manifest-11.0.3.tgz", "integrity": "sha1-ds9lk6NRhJAGw2s4pzJnmOKnbRM=", - "dev": true, "license": "ISC", "dependencies": { "npm-install-checks": "^8.0.0", @@ -7108,7 +7328,6 @@ "version": "19.1.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-registry-fetch/-/npm-registry-fetch-19.1.1.tgz", "integrity": "sha1-UeltIfQJqbxPlq8hioYD6IRFkCQ=", - "dev": true, "license": "ISC", "dependencies": { "@npmcli/redact": "^4.0.0", @@ -7128,7 +7347,6 @@ "version": "6.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -7151,7 +7369,6 @@ "version": "4.1.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -7161,7 +7378,6 @@ "version": "1.13.4", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/object-inspect/-/object-inspect-1.13.4.tgz", "integrity": "sha1-g3UmXiG8IND6WCwi4bE0hdbgAhM=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -7174,7 +7390,6 @@ "version": "2.4.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha1-WMjEQRblSEWtV/FKsQsDUzGErD8=", - "dev": true, "license": "MIT", "dependencies": { "ee-first": "1.1.1" @@ -7187,7 +7402,6 @@ "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -7197,7 +7411,6 @@ "version": "7.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/onetime/-/onetime-7.0.0.tgz", "integrity": "sha1-nxbJLYye9RIOOs2d2ZV8zuzBq2A=", - "dev": true, "license": "MIT", "dependencies": { "mimic-function": "^5.0.0" @@ -7213,7 +7426,6 @@ "version": "8.2.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ora/-/ora-8.2.0.tgz", "integrity": "sha1-j7u3FRr+M7VA3RU/Fx/6i9OOmGE=", - "dev": true, "license": "MIT", "dependencies": { "chalk": "^5.3.0", @@ -7245,7 +7457,6 @@ "version": "7.0.4", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/p-map/-/p-map-7.0.4.tgz", "integrity": "sha1-uBgUJV9ULiUtVyncpNZuXsFJNbg=", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -7258,7 +7469,6 @@ "version": "21.0.4", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/pacote/-/pacote-21.0.4.tgz", "integrity": "sha1-Wc0qK1pMjBtiXzOZGpaxNtHAXZU=", - "dev": true, "license": "ISC", "dependencies": { "@npmcli/git": "^7.0.0", @@ -7290,7 +7500,6 @@ "version": "6.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", - "dev": true, "license": "ISC", "engines": { "node": "^20.17.0 || >=22.9.0" @@ -7300,7 +7509,6 @@ "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/parse5/-/parse5-8.0.0.tgz", "integrity": "sha1-rOsmf2sV+bbmup41v91IH8IWexI=", - "dev": true, "license": "MIT", "dependencies": { "entities": "^6.0.0" @@ -7354,7 +7562,6 @@ "version": "6.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/entities/-/entities-6.0.1.tgz", "integrity": "sha1-wow0pDN5yn9h0HQTCy9fcCCjBpQ=", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -7367,7 +7574,6 @@ "version": "1.3.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -7387,7 +7593,6 @@ "version": "3.1.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-key/-/path-key-3.1.1.tgz", "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -7397,14 +7602,12 @@ "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", - "dev": true, "license": "MIT" }, "node_modules/path-scurry": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-scurry/-/path-scurry-2.0.1.tgz", "integrity": "sha1-S2VyN2z9i4EfypzR9cJLPLrA/hA=", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^11.0.0", @@ -7421,7 +7624,6 @@ "version": "11.2.5", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", - "dev": true, "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" @@ -7431,7 +7633,6 @@ "version": "8.3.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-to-regexp/-/path-to-regexp-8.3.0.tgz", "integrity": "sha1-qoGKaYH5kyEAOgiYfTzsnDR0zR8=", - "dev": true, "license": "MIT", "funding": { "type": "opencollective", @@ -7449,7 +7650,6 @@ "version": "4.0.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha1-eWx2E20e6tcV2x57rXhd7daVoEI=", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -7475,7 +7675,6 @@ "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/pkce-challenge/-/pkce-challenge-5.0.1.tgz", "integrity": "sha1-O0RGhlsXsXRems4gFqMfSN32Iw0=", - "dev": true, "license": "MIT", "engines": { "node": ">=16.20.0" @@ -7521,7 +7720,6 @@ "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-5.0.0.tgz", "integrity": "sha1-5sk883rvM/g1xTSF8xT1DqkGqdg=", - "dev": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" @@ -7531,7 +7729,6 @@ "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/promise-retry/-/promise-retry-2.0.1.tgz", "integrity": "sha1-/3R6E2IKtXumiPX8Z4VUEMNw2iI=", - "dev": true, "license": "MIT", "dependencies": { "err-code": "^2.0.2", @@ -7545,7 +7742,6 @@ "version": "2.0.7", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha1-8Z/mnOqzEe65S0LnDowgcPm6ECU=", - "dev": true, "license": "MIT", "dependencies": { "forwarded": "0.2.0", @@ -7576,7 +7772,6 @@ "version": "6.14.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/qs/-/qs-6.14.1.tgz", "integrity": "sha1-pB2FudOQLzHSeGF5BQYpSIGHEVk=", - "dev": true, "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" @@ -7592,7 +7787,6 @@ "version": "1.2.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -7602,7 +7796,6 @@ "version": "3.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/raw-body/-/raw-body-3.0.2.tgz", "integrity": "sha1-PjraWuVWj5CV2EN2/TpJuPsAClE=", - "dev": true, "license": "MIT", "dependencies": { "bytes": "~3.1.2", @@ -7618,7 +7811,7 @@ "version": "4.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/readdirp/-/readdirp-4.1.2.tgz", "integrity": "sha1-64WAFDX78qfuWPGeCSGwaPxplI0=", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 14.18.0" @@ -7649,7 +7842,6 @@ "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -7666,7 +7858,6 @@ "version": "1.22.10", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/resolve/-/resolve-1.22.10.tgz", "integrity": "sha1-tmPoP/sJu/I4aURza6roAwKbizk=", - "dev": true, "license": "MIT", "dependencies": { "is-core-module": "^2.16.0", @@ -7687,7 +7878,6 @@ "version": "5.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/restore-cursor/-/restore-cursor-5.1.0.tgz", "integrity": "sha1-B2bZVpnvrLFBUJk/VbrwlT6h6+c=", - "dev": true, "license": "MIT", "dependencies": { "onetime": "^7.0.0", @@ -7704,7 +7894,6 @@ "version": "0.12.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/retry/-/retry-0.12.0.tgz", "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true, "license": "MIT", "engines": { "node": ">= 4" @@ -7714,7 +7903,6 @@ "version": "1.4.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/rfdc/-/rfdc-1.4.1.tgz", "integrity": "sha1-d492xPtzHZNBTo+SX77PZMzn9so=", - "dev": true, "license": "MIT" }, "node_modules/rimraf": { @@ -7779,7 +7967,6 @@ "version": "2.2.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/router/-/router-2.2.0.tgz", "integrity": "sha1-AZvmILcRyHZBFnzHm5kJDwCxRu8=", - "dev": true, "license": "MIT", "dependencies": { "debug": "^4.4.0", @@ -7823,7 +8010,6 @@ "version": "2.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", - "dev": true, "license": "MIT" }, "node_modules/sass": { @@ -7851,7 +8037,6 @@ "version": "7.7.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/semver/-/semver-7.7.2.tgz", "integrity": "sha1-Z9mf3NNc7CHm+Lh6f9UVoz+YK1g=", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -7864,7 +8049,6 @@ "version": "1.2.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/send/-/send-1.2.1.tgz", "integrity": "sha1-nqt0O4dPNVD0CiaGe/KGrWDT8+0=", - "dev": true, "license": "MIT", "dependencies": { "debug": "^4.4.3", @@ -7891,7 +8075,6 @@ "version": "2.2.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/serve-static/-/serve-static-2.2.1.tgz", "integrity": "sha1-fxhqSk5fW2Y616QpT/G/N88OmKk=", - "dev": true, "license": "MIT", "dependencies": { "encodeurl": "^2.0.0", @@ -7911,14 +8094,12 @@ "version": "1.2.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha1-ZsmiSnP5/CjL5msJ/tPTPcrxtCQ=", - "dev": true, "license": "ISC" }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", - "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -7931,7 +8112,6 @@ "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -7941,7 +8121,6 @@ "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/side-channel/-/side-channel-1.1.0.tgz", "integrity": "sha1-w/z/nE2pMnhIczNeyXZfqU/2a8k=", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -7961,7 +8140,6 @@ "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/side-channel-list/-/side-channel-list-1.0.0.tgz", "integrity": "sha1-EMtZhCYxFdO3oOM2WR4pCoMK+K0=", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -7978,7 +8156,6 @@ "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/side-channel-map/-/side-channel-map-1.0.1.tgz", "integrity": "sha1-1rtrN5Asb+9RdOX1M/q0xzKib0I=", - "dev": true, "license": "MIT", "dependencies": { "call-bound": "^1.0.2", @@ -7997,7 +8174,6 @@ "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", "integrity": "sha1-Ed2hnVNo5Azp7CvcH7DsvAeQ7Oo=", - "dev": true, "license": "MIT", "dependencies": { "call-bound": "^1.0.2", @@ -8017,7 +8193,6 @@ "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha1-lSGIwcvVRgcOLdIND0HArgUwywQ=", - "dev": true, "license": "ISC", "engines": { "node": ">=14" @@ -8030,7 +8205,6 @@ "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/sigstore/-/sigstore-4.1.0.tgz", "integrity": "sha1-00uSpUSgXgA6JDAgnSbY36/YBaA=", - "dev": true, "license": "Apache-2.0", "dependencies": { "@sigstore/bundle": "^4.0.0", @@ -8048,7 +8222,6 @@ "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/slice-ansi/-/slice-ansi-5.0.0.tgz", "integrity": "sha1-tzBjxXqpb5zYgWVLFSlNldKFxCo=", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^6.0.0", @@ -8065,7 +8238,6 @@ "version": "4.2.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha1-bh1x+k8YwF99D/IW3RakgdDo2a4=", - "dev": true, "license": "MIT", "engines": { "node": ">= 6.0.0", @@ -8167,7 +8339,6 @@ "version": "2.8.7", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/socks/-/socks-2.8.7.tgz", "integrity": "sha1-4vsdmmA63XUFCiBn24w4GgtWaeo=", - "dev": true, "license": "MIT", "dependencies": { "ip-address": "^10.0.1", @@ -8182,7 +8353,6 @@ "version": "8.0.5", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", "integrity": "sha1-uc205+mYUJ12WdaJznaXrCFkW+4=", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", @@ -8197,7 +8367,6 @@ "version": "0.7.6", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/source-map/-/source-map-0.7.6.tgz", "integrity": "sha1-o2WKuH5bZCnIofO6AIPUxhyj7wI=", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">= 12" @@ -8238,7 +8407,6 @@ "version": "3.2.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha1-T1qwZo8AWeNPnADc4zF4ShLeTpw=", - "dev": true, "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", @@ -8249,14 +8417,12 @@ "version": "2.5.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", "integrity": "sha1-XWB9J/yAb2bXtkp2ZlD6iQ8E7WY=", - "dev": true, "license": "CC-BY-3.0" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", - "dev": true, "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", @@ -8267,14 +8433,12 @@ "version": "3.0.22", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", "integrity": "sha1-q/Wgim9dcnlVm2afR/CkPo80ZO8=", - "dev": true, "license": "CC0-1.0" }, "node_modules/ssri": { "version": "13.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ssri/-/ssri-13.0.0.tgz", "integrity": "sha1-QiazA9xHQAPYiQX5CYywM2EQbHQ=", - "dev": true, "license": "ISC", "dependencies": { "minipass": "^7.0.3" @@ -8287,7 +8451,6 @@ "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/statuses/-/statuses-2.0.2.tgz", "integrity": "sha1-j3XuzvdlteHPzcCA2llAntQk44I=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -8297,7 +8460,6 @@ "version": "0.2.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/stdin-discarder/-/stdin-discarder-0.2.2.tgz", "integrity": "sha1-OQA39ExK4aGuU1xf443Dq6jZl74=", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -8325,7 +8487,6 @@ "version": "7.2.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/string-width/-/string-width-7.2.0.tgz", "integrity": "sha1-tbuOIWXOJ11NQ0dt0nAK2Qkdttw=", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^10.3.0", @@ -8343,7 +8504,6 @@ "version": "7.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/strip-ansi/-/strip-ansi-7.1.2.tgz", "integrity": "sha1-Eyh1q95njH6o1pFTPy5+Irt0Tbo=", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" @@ -8372,7 +8532,6 @@ "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -8385,7 +8544,6 @@ "version": "7.5.7", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tar/-/tar-7.5.7.tgz", "integrity": "sha1-rfmXdACLociYGfFdvWAZxjBTlAU=", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", @@ -8402,7 +8560,6 @@ "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yallist/-/yallist-5.0.0.tgz", "integrity": "sha1-AOLeRDY57Q14/YfeDSdGn7z/tTM=", - "dev": true, "license": "BlueOak-1.0.0", "engines": { "node": ">=18" @@ -8412,7 +8569,6 @@ "version": "0.2.14", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tinyglobby/-/tinyglobby-0.2.14.tgz", "integrity": "sha1-UoCwzz+XKwUOdK6IQGwKalj0B50=", - "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.4.4", @@ -8452,7 +8608,6 @@ "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha1-O+NDIaiKgg7RvYDfqjPkefu43TU=", - "dev": true, "license": "MIT", "engines": { "node": ">=0.6" @@ -8468,7 +8623,6 @@ "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tuf-js/-/tuf-js-4.1.0.tgz", "integrity": "sha1-rk75r6RW/LSvED3FCkO8Ax8GZgM=", - "dev": true, "license": "MIT", "dependencies": { "@tufjs/models": "4.1.0", @@ -8483,7 +8637,6 @@ "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/type-is/-/type-is-2.0.1.tgz", "integrity": "sha1-ZPbPA/kvzkAVwrIkeT9r3UsGjJc=", - "dev": true, "license": "MIT", "dependencies": { "content-type": "^1.0.5", @@ -8539,14 +8692,13 @@ "version": "7.16.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/undici-types/-/undici-types-7.16.0.tgz", "integrity": "sha1-/8zf82rqSITL/OmnUKBYAiT1ikY=", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/unique-filename": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/unique-filename/-/unique-filename-5.0.0.tgz", "integrity": "sha1-ixe73hp8oyLdGh0j/hfCt5jEP48=", - "dev": true, "license": "ISC", "dependencies": { "unique-slug": "^6.0.0" @@ -8559,7 +8711,6 @@ "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/unique-slug/-/unique-slug-6.0.0.tgz", "integrity": "sha1-9G/WiKm9ly/TVsI9lYEqOkhi7Yg=", - "dev": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" @@ -8582,7 +8733,6 @@ "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -8633,7 +8783,6 @@ "version": "3.0.4", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", - "dev": true, "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", @@ -8644,7 +8793,6 @@ "version": "6.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz", "integrity": "sha1-To0sTZOZdac90bemXo8I1EyF35Y=", - "dev": true, "license": "ISC", "engines": { "node": "^18.17.0 || >=20.5.0" @@ -8654,7 +8802,6 @@ "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -8788,7 +8935,6 @@ "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-2.0.2.tgz", "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -8804,7 +8950,6 @@ "version": "6.2.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -8819,7 +8964,6 @@ "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -8829,7 +8973,6 @@ "version": "4.3.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -8845,14 +8988,12 @@ "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "dev": true, "license": "MIT" }, "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -8862,7 +9003,6 @@ "version": "4.2.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/string-width/-/string-width-4.2.3.tgz", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -8877,7 +9017,6 @@ "version": "6.0.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -8890,7 +9029,6 @@ "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true, "license": "ISC" }, "node_modules/ws": { @@ -8919,7 +9057,6 @@ "version": "5.0.8", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/y18n/-/y18n-5.0.8.tgz", "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", - "dev": true, "license": "ISC", "engines": { "node": ">=10" @@ -8936,7 +9073,6 @@ "version": "18.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yargs/-/yargs-18.0.0.tgz", "integrity": "sha1-bIQlmAYnOnRrCfV5CHtoo8LSW9E=", - "dev": true, "license": "MIT", "dependencies": { "cliui": "^9.0.1", @@ -8954,7 +9090,6 @@ "version": "22.0.0", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yargs-parser/-/yargs-parser-22.0.0.tgz", "integrity": "sha1-h7gglAUbBWdxc0bs0A/RSASzV8g=", - "dev": true, "license": "ISC", "engines": { "node": "^20.19.0 || ^22.12.0 || >=23" @@ -8964,7 +9099,6 @@ "version": "2.1.3", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", "integrity": "sha1-fklk6o7EIrekCskX06NEz9IwS6o=", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -8977,7 +9111,6 @@ "version": "4.1.13", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/zod/-/zod-4.1.13.tgz", "integrity": "sha1-k2maiv6Te6lrrbsM6L5gM8CktrE=", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" @@ -8987,7 +9120,6 @@ "version": "3.25.1", "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", "integrity": "sha1-fySWIQGkOd2t4r8a6rPDv+x9hLo=", - "dev": true, "license": "ISC", "peerDependencies": { "zod": "^3.25 || ^4" diff --git a/client/angular/package.json b/client/angular/package.json index b419b2d..383a68f 100644 --- a/client/angular/package.json +++ b/client/angular/package.json @@ -20,13 +20,21 @@ }, "private": true, "dependencies": { - "@blackbaud/checkout": "1.1.0", + "@angular/cdk": "^20.0.0", "@angular/common": "^20.1.0", "@angular/compiler": "^20.1.0", "@angular/core": "^20.1.0", "@angular/forms": "^20.1.0", + "@angular/material": "^20.2.14", "@angular/platform-browser": "^20.1.0", "@angular/router": "^20.1.0", + "@blackbaud/checkout": "1.1.0", + "@skyux/assets": "^13.12.0", + "@skyux/core": "^13.12.0", + "@skyux/i18n": "^13.12.0", + "@skyux/packages": "^13.12.0", + "@skyux/pages": "13.12.0", + "@skyux/theme": "^13.12.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" @@ -44,4 +52,4 @@ "karma-jasmine-html-reporter": "~2.1.0", "typescript": "~5.8.2" } -} \ No newline at end of file +} diff --git a/client/angular/src/app/app.config.ts b/client/angular/src/app/app.config.ts index d953f4c..fd66812 100644 --- a/client/angular/src/app/app.config.ts +++ b/client/angular/src/app/app.config.ts @@ -1,12 +1,18 @@ -import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZoneChangeDetection } from '@angular/core'; +import { + ApplicationConfig, + provideBrowserGlobalErrorListeners, + provideZoneChangeDetection, +} from '@angular/core'; import { provideRouter } from '@angular/router'; +import { provideHttpClient } from '@angular/common/http'; import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { providers: [ provideBrowserGlobalErrorListeners(), provideZoneChangeDetection({ eventCoalescing: true }), - provideRouter(routes) - ] + provideRouter(routes), + provideHttpClient(), + ], }; diff --git a/client/angular/src/app/app.html b/client/angular/src/app/app.html index 181e334..67e7bd4 100644 --- a/client/angular/src/app/app.html +++ b/client/angular/src/app/app.html @@ -1,38 +1 @@ -
-

Checkout flow

-
-
Current configuration
-
- -
- -
-
-
-
-
Transaction details
-
- - -
-
- - -
-
- - - -
-
Results
-
-
Transaction token:
-
-
-
Card token:
-
-
-
Authorized amount:
-
-
-
+ diff --git a/client/angular/src/app/app.routes.ts b/client/angular/src/app/app.routes.ts index dc39edb..925ab14 100644 --- a/client/angular/src/app/app.routes.ts +++ b/client/angular/src/app/app.routes.ts @@ -1,3 +1,9 @@ import { Routes } from '@angular/router'; +import { Checkout } from '../components/checkout/checkout'; -export const routes: Routes = []; +export const routes: Routes = [ + { + path: '', + component: Checkout, + }, +]; diff --git a/client/angular/src/app/app.scss b/client/angular/src/app/app.scss index c7e47ce..e69de29 100644 --- a/client/angular/src/app/app.scss +++ b/client/angular/src/app/app.scss @@ -1,12 +0,0 @@ -main { - margin: 25px; - width: 500px; -} - -.container-row { - margin-bottom: 10px; -} - -.content-block { - margin: 30px 0; -} diff --git a/client/angular/src/app/app.ts b/client/angular/src/app/app.ts index 0b7ca20..688abd5 100644 --- a/client/angular/src/app/app.ts +++ b/client/angular/src/app/app.ts @@ -5,7 +5,7 @@ import { RouterOutlet } from '@angular/router'; selector: 'app-root', imports: [RouterOutlet], templateUrl: './app.html', - styleUrl: './app.scss' + styleUrl: './app.scss', }) export class App { protected readonly title = signal('angular'); diff --git a/client/angular/src/components/checkout/checkout.html b/client/angular/src/components/checkout/checkout.html new file mode 100644 index 0000000..541bb5b --- /dev/null +++ b/client/angular/src/components/checkout/checkout.html @@ -0,0 +1,49 @@ + + + +
+
Current configuration
+
+ +
+ +
+
+
+
+
Transaction details
+
+ + +
+
+ + +
+
+ + + +
+
Results
+
+
Transaction token:
+
+
+
Card token:
+
+
+
Authorized amount:
+
+
+
+
+
+

+
diff --git a/client/angular/src/components/checkout/checkout.scss b/client/angular/src/components/checkout/checkout.scss new file mode 100644 index 0000000..c7e47ce --- /dev/null +++ b/client/angular/src/components/checkout/checkout.scss @@ -0,0 +1,12 @@ +main { + margin: 25px; + width: 500px; +} + +.container-row { + margin-bottom: 10px; +} + +.content-block { + margin: 30px 0; +} diff --git a/client/angular/src/components/checkout/checkout.spec.ts b/client/angular/src/components/checkout/checkout.spec.ts new file mode 100644 index 0000000..f5632c9 --- /dev/null +++ b/client/angular/src/components/checkout/checkout.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { Checkout } from './checkout'; + +describe('Checkout', () => { + let component: Checkout; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [Checkout] + }) + .compileComponents(); + + fixture = TestBed.createComponent(Checkout); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/client/angular/src/components/checkout/checkout.ts b/client/angular/src/components/checkout/checkout.ts new file mode 100644 index 0000000..872a69d --- /dev/null +++ b/client/angular/src/components/checkout/checkout.ts @@ -0,0 +1,74 @@ +import { HttpClient } from '@angular/common/http'; +import { Component, inject, OnInit } from '@angular/core'; +import { + BlackbaudCheckoutConstructor, + BlackbaudCheckoutService, + CheckoutConfiguration, + CheckoutModalPaymentOptions, +} from '@blackbaud/checkout'; + +import { SkyPageModule } from '@skyux/pages'; +import { ProcessingConfiguration } from '../../shared/models/processing-configuration'; + +declare let BlackbaudCheckout: typeof BlackbaudCheckoutConstructor; + +@Component({ + selector: 'app-checkout', + imports: [SkyPageModule], + templateUrl: './checkout.html', + styleUrl: './checkout.scss', +}) +export class Checkout implements OnInit { + public checkout?: BlackbaudCheckoutService; + + #baseUrl = 'https://localhost:5001/api/payments'; + + #client = inject(HttpClient); + + #checkoutConfig?: ProcessingConfiguration; + + ngOnInit(): void { + this.#client + .get(`${this.#baseUrl}/checkoutconfiguration`) + .subscribe((configResponse: ProcessingConfiguration) => { + this.#checkoutConfig = configResponse; + + const checkoutConfig: CheckoutConfiguration = { + environmentId: configResponse.environment_id, + paymentConfigurationId: configResponse.payment_configuration_id, + applicationName: 'Payments Engineering Demo', + completeCoverOptions: {}, + paymentMethodOptions: { + card: { + enabled: true, + }, + directDebit: { + enabled: true, + }, + wallets: { + applePayEnabled: true, + googlePayEnabled: true, + amazonPayEnabled: true, + }, + payPal: { + enabled: true, + }, + dafPay: { + enabled: true, + }, + }, + primaryColor: '#1870B8', + }; + + this.checkout = BlackbaudCheckout(checkoutConfig); + }); + } + + public openCheckout() { + let modal = this.checkout?.createCheckoutModalComponent(); + let modalOptions: CheckoutModalPaymentOptions = { + baseAmount: 2750, + }; + modal?.openPaymentForm(modalOptions); + } +} diff --git a/client/angular/src/index.html b/client/angular/src/index.html index 86697fe..3ffbae3 100644 --- a/client/angular/src/index.html +++ b/client/angular/src/index.html @@ -6,6 +6,7 @@ + diff --git a/client/angular/src/shared/models/processing-configuration.ts b/client/angular/src/shared/models/processing-configuration.ts new file mode 100644 index 0000000..56223bc --- /dev/null +++ b/client/angular/src/shared/models/processing-configuration.ts @@ -0,0 +1,4 @@ +export interface ProcessingConfiguration { + payment_configuration_id: string; + environment_id: string; +} diff --git a/server/dotnet-blazor/BusinessLogic/PaymentsService.cs b/server/dotnet-blazor/BusinessLogic/PaymentsService.cs index 9e2b5a1..f836cdc 100644 --- a/server/dotnet-blazor/BusinessLogic/PaymentsService.cs +++ b/server/dotnet-blazor/BusinessLogic/PaymentsService.cs @@ -18,6 +18,8 @@ public class PaymentsService private readonly IHttpClientFactory _httpClientFactory = null!; private readonly LocalFileDataAdapter _localFileDataAdapter; + private string? environmentId; + /// /// Constructor /// @@ -55,9 +57,9 @@ CancellationToken cancellationToken response.EnsureSuccessStatusCode(); - var model = await response - .Content - .ReadFromJsonAsync(cancellationToken: cancellationToken); + var model = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); return model; } @@ -72,7 +74,8 @@ CancellationToken cancellationToken var config = new CheckoutConfiguration { Key = publicKey, - PaymentConfigurationId = savedPaymentData.PaymentConfigurationId + PaymentConfigurationId = savedPaymentData.PaymentConfigurationId, + EnvironmentId = environmentId, }; return config; @@ -96,7 +99,7 @@ CancellationToken cancellationToken var checkoutTransactionRequest = new CheckoutTransactionRequest { TransactionToken = request.TransactionToken, - Amount = request.Amount + Amount = request.Amount, }; var requestBody = new StringContent( @@ -118,9 +121,9 @@ CancellationToken cancellationToken response.EnsureSuccessStatusCode(); - var transactionRead = await response - .Content - .ReadFromJsonAsync(cancellationToken: cancellationToken); + var transactionRead = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); return transactionRead; } @@ -140,7 +143,7 @@ CancellationToken cancellationToken Amount = 1212, CardToken = cardToken, PaymentConfigurationId = paymentConfigurationId, - TransactionType = "CardNotPresent" + TransactionType = "CardNotPresent", }; var requestBody = new StringContent( @@ -158,9 +161,9 @@ CancellationToken cancellationToken response.EnsureSuccessStatusCode(); - var transactionRead = await response - .Content - .ReadFromJsonAsync(cancellationToken: cancellationToken); + var transactionRead = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); return transactionRead; } @@ -181,9 +184,9 @@ public async Task GetPublicKey(CancellationToken cancellationToken) response.EnsureSuccessStatusCode(); - var model = await response - .Content - .ReadFromJsonAsync(cancellationToken: cancellationToken); + var model = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); return model.PublicKey; } @@ -208,9 +211,9 @@ public async Task GetSecurityToken(CancellationToken cancellationToken) response.EnsureSuccessStatusCode(); - var model = await response - .Content - .ReadFromJsonAsync(cancellationToken: cancellationToken); + var model = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); return model.SecurityToken; } @@ -242,13 +245,15 @@ private async Task GetClient( { var refresh = await _authService.RefreshAccessToken(cancellationToken); token = refresh.AccessToken; + environmentId = refresh.EnvironmentId; } else { var validRefresh = await _authService.HasValidRefreshToken(); if (!_authService.IsAccessTokenValid() && validRefresh) { - await _authService.RefreshAccessToken(cancellationToken); + var refreshToken = await _authService.RefreshAccessToken(cancellationToken); + environmentId = refreshToken.EnvironmentId; } token = _sessionService.GetAccessToken(); } diff --git a/server/dotnet-blazor/Models/Payments/CheckoutConfiguration.cs b/server/dotnet-blazor/Models/Payments/CheckoutConfiguration.cs index c83e94a..dcf52a7 100644 --- a/server/dotnet-blazor/Models/Payments/CheckoutConfiguration.cs +++ b/server/dotnet-blazor/Models/Payments/CheckoutConfiguration.cs @@ -9,4 +9,7 @@ public class CheckoutConfiguration [JsonPropertyName("payment_configuration_id")] public string PaymentConfigurationId { get; set; } + + [JsonPropertyName("environment_id")] + public string? EnvironmentId { get; set; } } From 99ce47e01217f1bfb1ed69d6266e0cf7100bc6aa Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Fri, 6 Feb 2026 09:23:25 -0500 Subject: [PATCH 3/8] start adding sky inputs --- .../src/components/checkout/checkout.html | 25 +++++++++++++------ .../src/components/checkout/checkout.ts | 7 +++--- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/client/angular/src/components/checkout/checkout.html b/client/angular/src/components/checkout/checkout.html index 541bb5b..7805232 100644 --- a/client/angular/src/components/checkout/checkout.html +++ b/client/angular/src/components/checkout/checkout.html @@ -5,20 +5,31 @@
Current configuration
-
- -
+
+ {{ + checkoutConfig?.payment_configuration_id + }} +
+ +
+ {{ checkoutConfig?.environment_id }} +
Transaction details
- - +
- - + + +
diff --git a/client/angular/src/components/checkout/checkout.ts b/client/angular/src/components/checkout/checkout.ts index 872a69d..3a9e28d 100644 --- a/client/angular/src/components/checkout/checkout.ts +++ b/client/angular/src/components/checkout/checkout.ts @@ -7,6 +7,7 @@ import { CheckoutModalPaymentOptions, } from '@blackbaud/checkout'; +import { SkyCheckboxModule, SkyInputBoxModule } from '@skyux/forms'; import { SkyPageModule } from '@skyux/pages'; import { ProcessingConfiguration } from '../../shared/models/processing-configuration'; @@ -14,7 +15,7 @@ declare let BlackbaudCheckout: typeof BlackbaudCheckoutConstructor; @Component({ selector: 'app-checkout', - imports: [SkyPageModule], + imports: [SkyPageModule, SkyCheckboxModule, SkyInputBoxModule], templateUrl: './checkout.html', styleUrl: './checkout.scss', }) @@ -25,13 +26,13 @@ export class Checkout implements OnInit { #client = inject(HttpClient); - #checkoutConfig?: ProcessingConfiguration; + public checkoutConfig?: ProcessingConfiguration; ngOnInit(): void { this.#client .get(`${this.#baseUrl}/checkoutconfiguration`) .subscribe((configResponse: ProcessingConfiguration) => { - this.#checkoutConfig = configResponse; + this.checkoutConfig = configResponse; const checkoutConfig: CheckoutConfiguration = { environmentId: configResponse.environment_id, From c959746f18f7f5e15dba93adfc8678a7aa75be9d Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Fri, 6 Feb 2026 16:03:25 -0500 Subject: [PATCH 4/8] Add capture endpoint and call capture on checkout complete --- .../src/components/checkout/checkout.ts | 28 ++++++++-- .../BusinessLogic/PaymentsService.cs | 44 +++++++++++++++ .../Controllers/PaymentsController.cs | 53 +++++++++++++++++-- .../Payments/API/CaptureTransactionRequest.cs | 9 ++++ 4 files changed, 127 insertions(+), 7 deletions(-) create mode 100644 server/dotnet-blazor/Models/Payments/API/CaptureTransactionRequest.cs diff --git a/client/angular/src/components/checkout/checkout.ts b/client/angular/src/components/checkout/checkout.ts index 3a9e28d..ec6c9b0 100644 --- a/client/angular/src/components/checkout/checkout.ts +++ b/client/angular/src/components/checkout/checkout.ts @@ -3,7 +3,9 @@ import { Component, inject, OnInit } from '@angular/core'; import { BlackbaudCheckoutConstructor, BlackbaudCheckoutService, + CheckoutCompleteEvent, CheckoutConfiguration, + CheckoutModalComponent, CheckoutModalPaymentOptions, } from '@blackbaud/checkout'; @@ -37,7 +39,7 @@ export class Checkout implements OnInit { const checkoutConfig: CheckoutConfiguration = { environmentId: configResponse.environment_id, paymentConfigurationId: configResponse.payment_configuration_id, - applicationName: 'Payments Engineering Demo', + applicationName: 'Payments API', completeCoverOptions: {}, paymentMethodOptions: { card: { @@ -62,14 +64,34 @@ export class Checkout implements OnInit { }; this.checkout = BlackbaudCheckout(checkoutConfig); + + this.checkout.checkoutComplete.subscribe( + (evt: CheckoutCompleteEvent) => { + this.captureTransaction(evt.transaction?.id!, 2750); + }, + ); }); } public openCheckout() { - let modal = this.checkout?.createCheckoutModalComponent(); + let modal: CheckoutModalComponent = + this.checkout!.createCheckoutModalComponent(); let modalOptions: CheckoutModalPaymentOptions = { baseAmount: 2750, }; - modal?.openPaymentForm(modalOptions); + modal.openPaymentForm(modalOptions); + } + + private async captureTransaction(transactionId: string, amount: number) { + // Capture the payment + await fetch(`${this.#baseUrl}/transactions/${transactionId}/capture`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + amount: amount, + }), + }); } } diff --git a/server/dotnet-blazor/BusinessLogic/PaymentsService.cs b/server/dotnet-blazor/BusinessLogic/PaymentsService.cs index f836cdc..72e1107 100644 --- a/server/dotnet-blazor/BusinessLogic/PaymentsService.cs +++ b/server/dotnet-blazor/BusinessLogic/PaymentsService.cs @@ -81,6 +81,50 @@ CancellationToken cancellationToken return config; } + public async Task CaptureTransaction( + string transactionId, + TransactionCaptureRequest request, + CancellationToken cancellationToken + ) + { + var httpClient = await GetClient(cancellationToken, true); + + if (!string.IsNullOrEmpty(request.CardToken)) + { + var savedPaymentData = await GetSavedPaymentData(); + savedPaymentData.CardToken = request.CardToken; + + await _localFileDataAdapter.WriteDataAsync(savedPaymentData); + } + + var checkoutTransactionRequest = new CaptureTransactionRequest { Amount = request.Amount }; + + var requestBody = new StringContent( + JsonSerializer.Serialize(checkoutTransactionRequest), + Encoding.UTF8, + "application/json" + ); + + var response = await httpClient.PostAsync( + $"transactions/{transactionId}/capture", + requestBody, + cancellationToken + ); + + if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) + { + throw new UnauthorizedAccessException(); + } + + response.EnsureSuccessStatusCode(); + + var transactionRead = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); + + return transactionRead; + } + public async Task CaptureCheckoutTransaction( TransactionCaptureRequest request, CancellationToken cancellationToken diff --git a/server/dotnet-blazor/Controllers/PaymentsController.cs b/server/dotnet-blazor/Controllers/PaymentsController.cs index e03c8e8..33b4898 100644 --- a/server/dotnet-blazor/Controllers/PaymentsController.cs +++ b/server/dotnet-blazor/Controllers/PaymentsController.cs @@ -16,7 +16,11 @@ public class PaymentsController : Controller private readonly GiftsService _giftsService; private readonly LocalFileDataAdapter _localFileDataAdapter; - public PaymentsController(PaymentsService paymentsService, GiftsService giftService, LocalFileDataAdapter localFileDataAdapter) + public PaymentsController( + PaymentsService paymentsService, + GiftsService giftService, + LocalFileDataAdapter localFileDataAdapter + ) { _paymentsService = paymentsService; _giftsService = giftService; @@ -37,11 +41,11 @@ CancellationToken cancellationToken } /// - /// Returns selected payment configuration + /// Captures a transaction using old Checkout /// [HttpPost("checkouttransactions/capture")] [AllowAnonymous] - public async Task CaptureCheckoutTransaction( + public async Task CaptureOldCheckoutTransaction( [FromBody] TransactionCaptureRequest request, CancellationToken cancellationToken ) @@ -67,7 +71,48 @@ CancellationToken cancellationToken { TransactionToken = request.TransactionToken, Transaction = transactionRead, - Gift = giftRead + Gift = giftRead, + }; + + await _localFileDataAdapter.WriteDataAsync(checkoutTransactionData); + + return Ok(); + } + + /// + /// Captures a transaction + /// + [HttpPost("transactions/{transactionId}/capture")] + [AllowAnonymous] + public async Task CaptureTransaction( + [FromRoute] string transactionId, + [FromBody] TransactionCaptureRequest request, + CancellationToken cancellationToken + ) + { + // Capture the checkout transaction + var transactionRead = await _paymentsService.CaptureTransaction( + transactionId, + request, + cancellationToken + ); + + // Create a Gift record in RE NXT connected to the transaction + var giftRead = await _giftsService.CreateGift( + transactionRead, + request.PaymentConfigurationId, + request.CardToken, + anonymous: false, + cancellationToken, + request.TransactionToken + ); + + // Save the transaction and gift records to a local file + var checkoutTransactionData = new CheckoutTransactionData + { + TransactionToken = request.TransactionToken, + Transaction = transactionRead, + Gift = giftRead, }; await _localFileDataAdapter.WriteDataAsync(checkoutTransactionData); diff --git a/server/dotnet-blazor/Models/Payments/API/CaptureTransactionRequest.cs b/server/dotnet-blazor/Models/Payments/API/CaptureTransactionRequest.cs new file mode 100644 index 0000000..cdd6b0f --- /dev/null +++ b/server/dotnet-blazor/Models/Payments/API/CaptureTransactionRequest.cs @@ -0,0 +1,9 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPITutorial.Models.Payments; + +public class CaptureTransactionRequest +{ + [JsonPropertyName("amount")] + public int Amount { get; set; } +} From 65725efb05b3d7834180f610b5e0ac7ea1a27703 Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Fri, 6 Feb 2026 16:26:29 -0500 Subject: [PATCH 5/8] admin --- client/{ => admin}/angular/.editorconfig | 0 client/{ => admin}/angular/.gitignore | 0 .../angular/.vscode/extensions.json | 0 .../{ => admin}/angular/.vscode/launch.json | 0 client/{ => admin}/angular/.vscode/tasks.json | 0 client/{ => admin}/angular/README.md | 0 client/admin/angular/angular.json | 98 + client/admin/angular/package-lock.json | 8996 +++++++++++++++++ client/admin/angular/package.json | 46 + client/{ => admin}/angular/public/favicon.ico | Bin client/admin/angular/src/app/app.config.ts | 12 + client/{ => admin}/angular/src/app/app.html | 0 client/admin/angular/src/app/app.routes.ts | 9 + client/{ => admin}/angular/src/app/app.scss | 0 .../{ => admin}/angular/src/app/app.spec.ts | 0 client/admin/angular/src/app/app.ts | 12 + client/admin/angular/src/app/home/home.html | 9 + client/admin/angular/src/app/home/home.scss | 0 .../admin/angular/src/app/home/home.spec.ts | 23 + client/admin/angular/src/app/home/home.ts | 11 + client/admin/angular/src/index.html | 13 + client/{ => admin}/angular/src/main.ts | 0 client/{ => admin}/angular/src/styles.scss | 0 client/{ => admin}/angular/tsconfig.app.json | 0 client/{ => admin}/angular/tsconfig.json | 0 client/{ => admin}/angular/tsconfig.spec.json | 0 client/public/angular/.editorconfig | 17 + client/public/angular/.gitignore | 42 + client/public/angular/.vscode/extensions.json | 4 + client/public/angular/.vscode/launch.json | 20 + client/public/angular/.vscode/tasks.json | 42 + client/public/angular/README.md | 59 + client/{ => public}/angular/angular.json | 0 client/{ => public}/angular/package-lock.json | 0 client/{ => public}/angular/package.json | 0 client/public/angular/public/favicon.ico | Bin 0 -> 15086 bytes .../angular/src/app/app.config.ts | 0 client/public/angular/src/app/app.html | 1 + .../angular/src/app/app.routes.ts | 0 client/public/angular/src/app/app.scss | 0 client/public/angular/src/app/app.spec.ts | 23 + client/{ => public}/angular/src/app/app.ts | 0 .../src/components/checkout/checkout.html | 0 .../src/components/checkout/checkout.scss | 0 .../src/components/checkout/checkout.spec.ts | 0 .../src/components/checkout/checkout.ts | 0 client/{ => public}/angular/src/index.html | 0 client/public/angular/src/main.ts | 6 + .../shared/models/processing-configuration.ts | 0 client/public/angular/src/styles.scss | 1 + client/public/angular/tsconfig.app.json | 15 + client/public/angular/tsconfig.json | 34 + client/public/angular/tsconfig.spec.json | 14 + client/{ => public}/html/css/styles.css | 0 client/{ => public}/html/index.html | 0 client/{ => public}/html/index.js | 0 56 files changed, 9507 insertions(+) rename client/{ => admin}/angular/.editorconfig (100%) rename client/{ => admin}/angular/.gitignore (100%) rename client/{ => admin}/angular/.vscode/extensions.json (100%) rename client/{ => admin}/angular/.vscode/launch.json (100%) rename client/{ => admin}/angular/.vscode/tasks.json (100%) rename client/{ => admin}/angular/README.md (100%) create mode 100644 client/admin/angular/angular.json create mode 100644 client/admin/angular/package-lock.json create mode 100644 client/admin/angular/package.json rename client/{ => admin}/angular/public/favicon.ico (100%) create mode 100644 client/admin/angular/src/app/app.config.ts rename client/{ => admin}/angular/src/app/app.html (100%) create mode 100644 client/admin/angular/src/app/app.routes.ts rename client/{ => admin}/angular/src/app/app.scss (100%) rename client/{ => admin}/angular/src/app/app.spec.ts (100%) create mode 100644 client/admin/angular/src/app/app.ts create mode 100644 client/admin/angular/src/app/home/home.html create mode 100644 client/admin/angular/src/app/home/home.scss create mode 100644 client/admin/angular/src/app/home/home.spec.ts create mode 100644 client/admin/angular/src/app/home/home.ts create mode 100644 client/admin/angular/src/index.html rename client/{ => admin}/angular/src/main.ts (100%) rename client/{ => admin}/angular/src/styles.scss (100%) rename client/{ => admin}/angular/tsconfig.app.json (100%) rename client/{ => admin}/angular/tsconfig.json (100%) rename client/{ => admin}/angular/tsconfig.spec.json (100%) create mode 100644 client/public/angular/.editorconfig create mode 100644 client/public/angular/.gitignore create mode 100644 client/public/angular/.vscode/extensions.json create mode 100644 client/public/angular/.vscode/launch.json create mode 100644 client/public/angular/.vscode/tasks.json create mode 100644 client/public/angular/README.md rename client/{ => public}/angular/angular.json (100%) rename client/{ => public}/angular/package-lock.json (100%) rename client/{ => public}/angular/package.json (100%) create mode 100644 client/public/angular/public/favicon.ico rename client/{ => public}/angular/src/app/app.config.ts (100%) create mode 100644 client/public/angular/src/app/app.html rename client/{ => public}/angular/src/app/app.routes.ts (100%) create mode 100644 client/public/angular/src/app/app.scss create mode 100644 client/public/angular/src/app/app.spec.ts rename client/{ => public}/angular/src/app/app.ts (100%) rename client/{ => public}/angular/src/components/checkout/checkout.html (100%) rename client/{ => public}/angular/src/components/checkout/checkout.scss (100%) rename client/{ => public}/angular/src/components/checkout/checkout.spec.ts (100%) rename client/{ => public}/angular/src/components/checkout/checkout.ts (100%) rename client/{ => public}/angular/src/index.html (100%) create mode 100644 client/public/angular/src/main.ts rename client/{ => public}/angular/src/shared/models/processing-configuration.ts (100%) create mode 100644 client/public/angular/src/styles.scss create mode 100644 client/public/angular/tsconfig.app.json create mode 100644 client/public/angular/tsconfig.json create mode 100644 client/public/angular/tsconfig.spec.json rename client/{ => public}/html/css/styles.css (100%) rename client/{ => public}/html/index.html (100%) rename client/{ => public}/html/index.js (100%) diff --git a/client/angular/.editorconfig b/client/admin/angular/.editorconfig similarity index 100% rename from client/angular/.editorconfig rename to client/admin/angular/.editorconfig diff --git a/client/angular/.gitignore b/client/admin/angular/.gitignore similarity index 100% rename from client/angular/.gitignore rename to client/admin/angular/.gitignore diff --git a/client/angular/.vscode/extensions.json b/client/admin/angular/.vscode/extensions.json similarity index 100% rename from client/angular/.vscode/extensions.json rename to client/admin/angular/.vscode/extensions.json diff --git a/client/angular/.vscode/launch.json b/client/admin/angular/.vscode/launch.json similarity index 100% rename from client/angular/.vscode/launch.json rename to client/admin/angular/.vscode/launch.json diff --git a/client/angular/.vscode/tasks.json b/client/admin/angular/.vscode/tasks.json similarity index 100% rename from client/angular/.vscode/tasks.json rename to client/admin/angular/.vscode/tasks.json diff --git a/client/angular/README.md b/client/admin/angular/README.md similarity index 100% rename from client/angular/README.md rename to client/admin/angular/README.md diff --git a/client/admin/angular/angular.json b/client/admin/angular/angular.json new file mode 100644 index 0000000..41397e9 --- /dev/null +++ b/client/admin/angular/angular.json @@ -0,0 +1,98 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "angular": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular/build:application", + "options": { + "browser": "src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.scss" + ] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kB", + "maximumError": "1MB" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "4kB", + "maximumError": "8kB" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular/build:dev-server", + "configurations": { + "production": { + "buildTarget": "angular:build:production" + }, + "development": { + "buildTarget": "angular:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular/build:extract-i18n" + }, + "test": { + "builder": "@angular/build:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing" + ], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.scss" + ] + } + } + } + } + } +} diff --git a/client/admin/angular/package-lock.json b/client/admin/angular/package-lock.json new file mode 100644 index 0000000..a802867 --- /dev/null +++ b/client/admin/angular/package-lock.json @@ -0,0 +1,8996 @@ +{ + "name": "angular", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "angular", + "version": "0.0.0", + "dependencies": { + "@angular/common": "^20.1.0", + "@angular/compiler": "^20.1.0", + "@angular/core": "^20.1.0", + "@angular/forms": "^20.1.0", + "@angular/platform-browser": "^20.1.0", + "@angular/router": "^20.1.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/build": "^20.1.5", + "@angular/cli": "^20.1.5", + "@angular/compiler-cli": "^20.1.0", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.8.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.2" + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/abtesting/-/abtesting-1.1.0.tgz", + "integrity": "sha1-MshIdpVnJ9zcqN8DxWfxL7Oe3w0=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz", + "integrity": "sha1-5Mua2QNXyLJvtvvNAVfMi9G2AO0=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-analytics/-/client-analytics-5.35.0.tgz", + "integrity": "sha1-/wudnL2gdEctcnotCmsYvMRwdr4=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-common/-/client-common-5.35.0.tgz", + "integrity": "sha1-HXKzYwjOqlPX1IjNOhYVBt3rDEI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-insights/-/client-insights-5.35.0.tgz", + "integrity": "sha1-j9Ue6tfYmSVSLUi1wWSz17ZWcHw=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-personalization/-/client-personalization-5.35.0.tgz", + "integrity": "sha1-pmF2eFEmm4/wkeqpAP4LZbOTc4I=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz", + "integrity": "sha1-uHBPPNsrSbjwNIu3ejghpf+ltzs=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/client-search/-/client-search-5.35.0.tgz", + "integrity": "sha1-YUQcTeIS2KGvk6sUBvRv0zhsNaA=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/ingestion/-/ingestion-1.35.0.tgz", + "integrity": "sha1-+yY8wZDaQhdW+PUuP+Xlr9yJ9ow=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/monitoring/-/monitoring-1.35.0.tgz", + "integrity": "sha1-a+Kz4qSDKLV9mIJ9qchewrQtSdo=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/recommend/-/recommend-5.35.0.tgz", + "integrity": "sha1-A8PR270bWwfdqYNQtFZAyBkIEhE=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz", + "integrity": "sha1-scJvyb6AoN3eay5F+1DVLHxsBfQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz", + "integrity": "sha1-KYFcW/UBFI6mGe2WuuCcCZpcztQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz", + "integrity": "sha1-kJW4Cgrnf1dANiYfRAU2NuMdG68=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha1-7UQbb6YAByUgzhi0PSyMyMrsx/Q=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.2003.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular-devkit/architect/-/architect-0.2003.15.tgz", + "integrity": "sha1-CdTlICBdz+RK4N1eT4ZVlsH97Jg=", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.3.15", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "20.3.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular-devkit/core/-/core-20.3.15.tgz", + "integrity": "sha1-1h4rkVsjR9qfM8N/OcbBY8xdKeo=", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.3", + "rxjs": "7.8.2", + "source-map": "0.7.6" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "20.3.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular-devkit/schematics/-/schematics-20.3.15.tgz", + "integrity": "sha1-fdL5ZqUw+tsMQl7QH7PLswPfhoo=", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.3.15", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.17", + "ora": "8.2.0", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/build": { + "version": "20.3.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/build/-/build-20.3.15.tgz", + "integrity": "sha1-+hxGYaHKeZHNjBmVdEIHanJmvxg=", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.2003.15", + "@babel/core": "7.28.3", + "@babel/helper-annotate-as-pure": "7.27.3", + "@babel/helper-split-export-declaration": "7.24.7", + "@inquirer/confirm": "5.1.14", + "@vitejs/plugin-basic-ssl": "2.1.0", + "beasties": "0.3.5", + "browserslist": "^4.23.0", + "esbuild": "0.25.9", + "https-proxy-agent": "7.0.6", + "istanbul-lib-instrument": "6.0.3", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "magic-string": "0.30.17", + "mrmime": "2.0.1", + "parse5-html-rewriting-stream": "8.0.0", + "picomatch": "4.0.3", + "piscina": "5.1.3", + "rollup": "4.52.3", + "sass": "1.90.0", + "semver": "7.7.2", + "source-map-support": "0.5.21", + "tinyglobby": "0.2.14", + "vite": "7.1.11", + "watchpack": "2.4.4" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "lmdb": "3.4.2" + }, + "peerDependencies": { + "@angular/compiler": "^20.0.0", + "@angular/compiler-cli": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/localize": "^20.0.0", + "@angular/platform-browser": "^20.0.0", + "@angular/platform-server": "^20.0.0", + "@angular/service-worker": "^20.0.0", + "@angular/ssr": "^20.3.15", + "karma": "^6.4.0", + "less": "^4.2.0", + "ng-packagr": "^20.0.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "tslib": "^2.3.0", + "typescript": ">=5.8 <6.0", + "vitest": "^3.1.1" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + }, + "@angular/localize": { + "optional": true + }, + "@angular/platform-browser": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "@angular/ssr": { + "optional": true + }, + "karma": { + "optional": true + }, + "less": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tailwindcss": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@angular/cli": { + "version": "20.3.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/cli/-/cli-20.3.15.tgz", + "integrity": "sha1-E+7Dz3O+tAA0inTeys/i6L+QhYA=", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.2003.15", + "@angular-devkit/core": "20.3.15", + "@angular-devkit/schematics": "20.3.15", + "@inquirer/prompts": "7.8.2", + "@listr2/prompt-adapter-inquirer": "3.0.1", + "@modelcontextprotocol/sdk": "1.25.2", + "@schematics/angular": "20.3.15", + "@yarnpkg/lockfile": "1.1.0", + "algoliasearch": "5.35.0", + "ini": "5.0.0", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "npm-package-arg": "13.0.0", + "pacote": "21.0.4", + "resolve": "1.22.10", + "semver": "7.7.2", + "yargs": "18.0.0", + "zod": "4.1.13" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/common": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/common/-/common-20.3.16.tgz", + "integrity": "sha1-0vXxu8jWW4GYmxawLHSyUp9FQeA=", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/core": "20.3.16", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/compiler/-/compiler-20.3.16.tgz", + "integrity": "sha1-mXCnLUx9rFtb8bLpKS5V6yIEZiM=", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@angular/compiler-cli": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/compiler-cli/-/compiler-cli-20.3.16.tgz", + "integrity": "sha1-zD3izMIOdTIuTYzQceRh1xFq4Do=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "7.28.3", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^4.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.2.0", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^18.0.0" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.3.16", + "typescript": ">=5.8 <6.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@angular/core": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/core/-/core-20.3.16.tgz", + "integrity": "sha1-wwA4YA4ZDs4Po4RS73Kee0ZBaJc=", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.3.16", + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.15.0" + }, + "peerDependenciesMeta": { + "@angular/compiler": { + "optional": true + }, + "zone.js": { + "optional": true + } + } + }, + "node_modules/@angular/forms": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/forms/-/forms-20.3.16.tgz", + "integrity": "sha1-3LBVaI6m1GRiKXM/ojSYym0cWkg=", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "20.3.16", + "@angular/core": "20.3.16", + "@angular/platform-browser": "20.3.16", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/platform-browser/-/platform-browser-20.3.16.tgz", + "integrity": "sha1-COtWybo1sZOZoVUxQi7dWXc04II=", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/animations": "20.3.16", + "@angular/common": "20.3.16", + "@angular/core": "20.3.16" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/router": { + "version": "20.3.16", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@angular/router/-/router-20.3.16.tgz", + "integrity": "sha1-yYYDm/VUb/5ZMUu/E51FYcvteLY=", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "20.3.16", + "@angular/core": "20.3.16", + "@angular/platform-browser": "20.3.16", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha1-fNelnxWzzA3NgDA493knEqfQsVw=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha1-ANA+jArCTdm+lCxTcJkMvh8X2I0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/core/-/core-7.28.3.tgz", + "integrity": "sha1-rO3d5pxdHe9puDnQnvo+P/Wcl8s=", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.3", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha1-S1YPZJ/E6RjdCrdc9JYei8iC2Co=", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha1-0Jh2KQERq7sA75Yqe4OlMH+6DVA=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha1-8x/Ya5FfxNrx86xpdsWb5whO2cU=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha1-MsSj9B8S7RUyF5sQik10bhBcKyU=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha1-uUMN8qpOF7woZl6t6uiqHZheZnQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha1-YGMsvW/7cLIoIxhyARFnYqA+LVw=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha1-kxLZ2eVu3DWutulcJdQQa1C56x4=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha1-g5SUNokOB/o9aHPGGpbju/aS2FY=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha1-VNp5YJerGc5n7Z+ItHuy7Ek2doc=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha1-AQtpOPq3y333SqK7wGqlA7j+X7Q=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha1-+lL1sefbGrBJRFtCHERxMDiXcC8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha1-/KkDoxOuZ1YXk26JmLgUxBXL9dc=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha1-Zp7zRa3X0FfpK37RXwusB2EYMbY=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha1-Dn5W7O23iu72bOeXKwgvznaiPlc=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha1-8yPQUAFEAlPurTychYrb4AuQMQo=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha1-n1seg4xEbnLPPNS5GBUrjGBeN8c=", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha1-u1BFecHK6SPmV2pPXaQ9Jfl729k=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha1-vvljUfFlIAVclHq6KIAu7ePJ6ak=", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha1-0qdT/ipMc7eUN9C6FIDi12AJdBk=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha1-0ucL59UaUpQlQiCR4Ny5A3TBVGw=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha1-UniDbjx651dhYmli+QKg1VNS5oM=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha1-8VE+r57I+hXcr0w0Gw8AXT6LR64=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha1-4n28O1B7OhzqO5KAoEuLa3Jfgr4=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha1-Nk4+W3of1F2SvgjGzF2JDKdZCMo=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha1-fIabRfrrPfZo4ZrOBzNaBxHsVqs=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha1-bOS5yr8UgnQQFwHREridxnzFLzc=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha1-SNQoYXWMlAthq+pDupopsYbWy4s=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha1-IH5UiZt5ysnCbDI/wcqjLjFD8cQ=", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha1-C6SKEnFZqPartYJ/IRmLmZ/9H8A=", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha1-pNTMaT0YX2amr96U93KzjOXWTrU=", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha1-D1gFwcbWQ1odr9wEPLB6GQUDV9s=", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha1-Z3bt7OD4/KefM4Y5i1GD/yqCdUc=", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha1-P28p7wNpOER8IhjTCdyHUiWGGDA=", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha1-gx/gsOGoCouDkSJOojd9VSDhUn8=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha1-BvmdfuvgNfu+Q94BydfpjSoKpUg=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha1-25mFjmvtbnORH5Kojk7dOoxCmlI=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha1-r7iGyGfjb52GuyHoeOEYX11aCTU=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha1-MIVcn4OB+sag71tfMaxucQimbs8=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha1-LyFErzHmetwqjjcFwgwr2XvYgxQ=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha1-abmam1vSJsnrnGpz+ZD93Ul9cy4=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha1-14kzCnEq+RbIgyX0/+Rl+IVxnGs=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha1-UvxzVAa9SWiCU+dOToN6wroHieM=", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha1-WFYk3IKc+258CqbDyn1+baqH408=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@hono/node-server": { + "version": "1.19.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@hono/node-server/-/node-server-1.19.9.tgz", + "integrity": "sha1-jzcRmxrPKD/T9gNfPRNW/bl6Caw=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" + } + }, + "node_modules/@inquirer/ansi": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/ansi/-/ansi-1.0.2.tgz", + "integrity": "sha1-Z0pMTYGtRgaVyyofxp14zRh/M34=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "4.3.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/checkbox/-/checkbox-4.3.2.tgz", + "integrity": "sha1-4Ug+ZRnW/++XKBpU0qW6oNgbPzs=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "5.1.14", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/confirm/-/confirm-5.1.14.tgz", + "integrity": "sha1-5jIe31GjpfVNxUi4Dva6iYkTUa0=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "10.3.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/core/-/core-10.3.2.tgz", + "integrity": "sha1-U1l5/z/0/h58xPg+IyBQTHQ7fiA=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/editor": { + "version": "4.2.23", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/editor/-/editor-4.2.23.tgz", + "integrity": "sha1-/gRqO/2ukxJi3pjBBSQ315QyLgs=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/external-editor": "^1.0.3", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "4.0.23", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/expand/-/expand-4.0.23.tgz", + "integrity": "sha1-o4tfMiJtdXF8Nwvf7XkjE7kr3AU=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/external-editor/-/external-editor-1.0.3.tgz", + "integrity": "sha1-wjmIKR7mdikP2rP9MG5kAQptE7g=", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.1", + "iconv-lite": "^0.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha1-27Se2A3xHfdCaAI7SWrF2azSKzo=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "4.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/input/-/input-4.3.1.tgz", + "integrity": "sha1-d4aDtMTE2V0F1LBcSoVJZLc1ZbQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "3.0.23", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/number/-/number-3.0.23.tgz", + "integrity": "sha1-P97CVA1kIJP9dSaBj9jUvcczUJQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "4.0.23", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/password/-/password-4.0.23.tgz", + "integrity": "sha1-ufUYfIyS/Xqp7Oudjy6tDX57AA0=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "7.8.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/prompts/-/prompts-7.8.2.tgz", + "integrity": "sha1-XZ2NcnODG9US6c+vPYJ8zg8urg8=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.2.1", + "@inquirer/confirm": "^5.1.14", + "@inquirer/editor": "^4.2.17", + "@inquirer/expand": "^4.0.17", + "@inquirer/input": "^4.2.1", + "@inquirer/number": "^3.0.17", + "@inquirer/password": "^4.0.17", + "@inquirer/rawlist": "^4.1.5", + "@inquirer/search": "^3.1.0", + "@inquirer/select": "^4.3.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.1.11", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/rawlist/-/rawlist-4.1.11.tgz", + "integrity": "sha1-MTyMP/zLfUHpkMYGRlcmtKiYoDM=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "3.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/search/-/search-3.2.2.tgz", + "integrity": "sha1-TMb9V03NQ05DmbrcN8dCw/1TSsg=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "4.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/select/-/select-4.4.2.tgz", + "integrity": "sha1-Ksj8qWCRPxjx0bNTI+2PzSfYkyM=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.10", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@inquirer/type/-/type-3.0.10.tgz", + "integrity": "sha1-Ee1WTseEMqIA6iYBohLSSvgVDVA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha1-MIHa28NGBmG3UedZHX+upd853Sk=", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz", + "integrity": "sha1-DvWpLZHy//KjdkbOVNqeX1mfbv8=", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha1-LVmuOrSzj7QnC/oj0w+OLobH/jI=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha1-5F44TkuOwWvOL9kDr3hFD2v37Jg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha1-Y0Khn0Q0dRjJPkOxrGnes8Rlah8=", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha1-eg7mAfYPmaIMfHxf8MgDiMEYm9Y=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha1-aRKwDSxjHA0Vzhp6tXzWV/Ko+Lo=", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha1-2xXWeByTHzolGj2sOVAcmKYIL9A=", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "3.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz", + "integrity": "sha1-fggbTc3i8b1awWxiDuJAKQjwP+c=", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/type": "^3.0.7" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 8", + "listr2": "9.0.1" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.2.tgz", + "integrity": "sha1-MWhItB4mzw3bN5+tGT1JBS8J198=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.2.tgz", + "integrity": "sha1-wgSK2dTEwj5CD4+y88QY9xNxXLc=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.2.tgz", + "integrity": "sha1-o9u3DhoemZ18gsz/PWyTiHIkGs0=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.2.tgz", + "integrity": "sha1-OCqCDkIsGJ/rC2TOarKtN5unsJc=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.2.tgz", + "integrity": "sha1-qgc+rDPt42nVGv0DFLLirwajaOA=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-arm64": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.2.tgz", + "integrity": "sha1-fnNQDwyByiaaatkpD7Hnv3E3hj0=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.2.tgz", + "integrity": "sha1-mcrxFLt005yeG6ypm5BzU62L9GE=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.25.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@modelcontextprotocol/sdk/-/sdk-1.25.2.tgz", + "integrity": "sha1-IoRWC04ES0zl8yjuGAkxEQy4xc8=", + "dev": true, + "license": "MIT", + "dependencies": { + "@hono/node-server": "^1.19.7", + "ajv": "^8.17.1", + "ajv-formats": "^3.0.1", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.0.1", + "express-rate-limit": "^7.5.0", + "jose": "^6.1.1", + "json-schema-typed": "^8.0.2", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.25 || ^4.0", + "zod-to-json-schema": "^3.25.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@cfworker/json-schema": "^4.1.1", + "zod": "^3.25 || ^4.0" + }, + "peerDependenciesMeta": { + "@cfworker/json-schema": { + "optional": true + }, + "zod": { + "optional": false + } + } + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha1-nt7GGyLDCCAYp59tHDAond89nRE=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha1-M2d6J1IEiYrYrL9ic0/E3AtqSFU=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha1-lPsFQ7ouKHZsP8Q5yrvgRArnAVk=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha1-Ge33zcLnBj7jKEA8HYlaht0o9Ls=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha1-SgYJq1/kTQfJxgoR5EhNPDi71uM=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha1-CqVQLVR7V6v8SsSS3mjiAG5BckI=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@napi-rs/nice": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice/-/nice-1.1.1.tgz", + "integrity": "sha1-warNYx7NTFAMlZ4+fP7dXHO//io=", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.1.1", + "@napi-rs/nice-android-arm64": "1.1.1", + "@napi-rs/nice-darwin-arm64": "1.1.1", + "@napi-rs/nice-darwin-x64": "1.1.1", + "@napi-rs/nice-freebsd-x64": "1.1.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", + "@napi-rs/nice-linux-arm64-gnu": "1.1.1", + "@napi-rs/nice-linux-arm64-musl": "1.1.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", + "@napi-rs/nice-linux-s390x-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-musl": "1.1.1", + "@napi-rs/nice-openharmony-arm64": "1.1.1", + "@napi-rs/nice-win32-arm64-msvc": "1.1.1", + "@napi-rs/nice-win32-ia32-msvc": "1.1.1", + "@napi-rs/nice-win32-x64-msvc": "1.1.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", + "integrity": "sha1-Tr2WaCHNbCzHzAIOtGjeOXu5tA8=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", + "integrity": "sha1-4YO6h0USvABYUtqri3jGPgpCiKg=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", + "integrity": "sha1-ZLFYWAl3TLuL+VzqPUyIJ8mJc5Q=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", + "integrity": "sha1-mcDH9iyx4jynaIG7KcxgAK7MxvA=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", + "integrity": "sha1-mlyg487YYgeIfJilpWDejN5akJ4=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", + "integrity": "sha1-uKahvIjQ3j6ZrD/eppmA3G4gtQI=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", + "integrity": "sha1-Im8e8w/LgPpANw6EO3XMhuOeEYM=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", + "integrity": "sha1-ATRcPbeSELpUBshyno23XtEcXxQ=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", + "integrity": "sha1-znoQJSJ9qrSR3tQHhLVhOU1oj8s=", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", + "integrity": "sha1-m+9dyJoEJdAxY4U7SWjbtobZj9U=", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", + "integrity": "sha1-JHyMfEWHaHe9szfP6ykP9P2C3mI=", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", + "integrity": "sha1-f9H14DfLRKtPX5WjsyJameMkjxI=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", + "integrity": "sha1-1EfNcVeuXaXAsV/GGL9h8MNE/28=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-openharmony-arm64": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", + "integrity": "sha1-ESDkV9LMayvIbvCml/rv4uGU384=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", + "integrity": "sha1-keTP7PM5tD+nk08MixnQT0zdm8A=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", + "integrity": "sha1-7ZMAu6B00+OwoHfWsVfytP9wrw4=", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", + "integrity": "sha1-gpK4L7RkWGGMz/W4Ew94l0NJVB4=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@npmcli/agent": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/agent/-/agent-4.0.0.tgz", + "integrity": "sha1-K7KxwKFwlAURVUp5hq4qi+n+3M4=", + "dev": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^11.2.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "11.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", + "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@npmcli/fs": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/fs/-/fs-5.0.0.tgz", + "integrity": "sha1-Z0YZdxkHNCs9GsGXqvHe62V+NTk=", + "dev": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/git": { + "version": "7.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/git/-/git-7.0.1.tgz", + "integrity": "sha1-0fZGKvDpkBU25Ee+6pIrwg3MV2I=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^9.0.0", + "ini": "^6.0.0", + "lru-cache": "^11.2.1", + "npm-pick-manifest": "^11.0.1", + "proc-log": "^6.0.0", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/git/node_modules/ini": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ini/-/ini-6.0.0.tgz", + "integrity": "sha1-78dkKydvajfSL99W71CInXFGvzA=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-3.1.2.tgz", + "integrity": "sha1-COU0nbA/8GVPOz7+eY+UqkvaT48=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "11.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", + "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@npmcli/git/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-6.0.0.tgz", + "integrity": "sha1-o6choUzdm5kaci5JPBd+7/gv8yo=", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/installed-package-contents/-/installed-package-contents-4.0.0.tgz", + "integrity": "sha1-GOUHBwTP4CePmuSAOFWLbv1DhCY=", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^5.0.0", + "npm-normalize-package-bin": "^5.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/node-gyp/-/node-gyp-5.0.0.tgz", + "integrity": "sha1-NUdaWLXXkXZKclIjEZehTe7+jkc=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "7.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/package-json/-/package-json-7.0.4.tgz", + "integrity": "sha1-9BeOXZC4iPO99maRVwb2E8LYcNc=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^7.0.0", + "glob": "^13.0.0", + "hosted-git-info": "^9.0.0", + "json-parse-even-better-errors": "^5.0.0", + "proc-log": "^6.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/glob": { + "version": "13.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/glob/-/glob-13.0.1.tgz", + "integrity": "sha1-xZolAMml8auc3TcCF87WPCqoHmA=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.2", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/package-json/node_modules/minimatch": { + "version": "10.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-10.1.2.tgz", + "integrity": "sha1-bD8on53mbWKPo/6xhCgEOWpD2Bw=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/package-json/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "9.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/promise-spawn/-/promise-spawn-9.0.1.tgz", + "integrity": "sha1-IOgMvdLyStJjoV3j67sWc8uCAFs=", + "dev": true, + "license": "ISC", + "dependencies": { + "which": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-3.1.2.tgz", + "integrity": "sha1-COU0nbA/8GVPOz7+eY+UqkvaT48=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-6.0.0.tgz", + "integrity": "sha1-o6choUzdm5kaci5JPBd+7/gv8yo=", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/redact/-/redact-4.0.0.tgz", + "integrity": "sha1-yREh4Ct1WamXYUosEFfNf8Z2CMQ=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "10.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@npmcli/run-script/-/run-script-10.0.3.tgz", + "integrity": "sha1-hcFs2JPkTK1e3e1EGwAtih06io4=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^5.0.0", + "@npmcli/package-json": "^7.0.0", + "@npmcli/promise-spawn": "^9.0.0", + "node-gyp": "^12.1.0", + "proc-log": "^6.0.0", + "which": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-3.1.2.tgz", + "integrity": "sha1-COU0nbA/8GVPOz7+eY+UqkvaT48=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/@npmcli/run-script/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-6.0.0.tgz", + "integrity": "sha1-o6choUzdm5kaci5JPBd+7/gv8yo=", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha1-P5MoKMiU8G0K2c/vreF1bsxu8fE=", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha1-XzLg26NW9KyaEQaNKlwTTKO6ZWQ=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha1-iNPnILWbHs7/zpjaxG18QOi+Xo4=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha1-vwXXani8FZdPFew2cYSGmLCDgGM=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha1-i8JumEjnMDrIKSKlrhse8b20ilM=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha1-Eyj+4d6wwteGUHnvU6K6TML4tAo=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha1-utD0XLPiFXdG24udIttqElcR8VI=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha1-t1kT+9UB2VI8XzXUIJV799AgSAk=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha1-2lYhpqV2BwyMDeYN6otG3Jw4J9Q=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha1-zkN6zNxLMPk6CQtKIh/ZXNm4ljk=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha1-AkAMVLSmfvzH4jJ7JJcRkgrJaeI=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha1-yq49PHWDygpxcea9FCw00g6haR4=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha1-mskiVQiW3+R7/Frjvk8byvgVXW0=", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha1-c/2vui4hxEjw5Fa74TF42P4Rc50=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha1-Grpmk7DyVSWKBJ1iEykykyKq1Vg=", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.3.tgz", + "integrity": "sha1-cFDCrNwSFKcwBY4h9hOrDh/hztk=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.3.tgz", + "integrity": "sha1-P1sq+/y+kCFklwHPb/DVSx+35KU=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.3.tgz", + "integrity": "sha1-cKFnn7Q5O6e6+3MO5WpSeMvNr7A=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.3.tgz", + "integrity": "sha1-rnWuyI+nIGnem8o6PsIr9OapYr8=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.3.tgz", + "integrity": "sha1-iivamX+qHX4zXOGWHOcdGnasYog=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.3.tgz", + "integrity": "sha1-/Ch7zDm5qcDflzNtaP1fRFj4eXc=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.3.tgz", + "integrity": "sha1-W1oqVd/6pk18eiMegOSRIZ4z1PM=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.3.tgz", + "integrity": "sha1-l56rlQA8IYN+oP3YpyGqPmn6SqM=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.3.tgz", + "integrity": "sha1-U7ifEonL7KXtm2yhYCpv4aKd1OI=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.3.tgz", + "integrity": "sha1-O7z14TwJ0MTFW9nHXsanru5W/ig=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.3.tgz", + "integrity": "sha1-HMcYOEZagpf5LMxcycKXVrcfbnM=", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.3.tgz", + "integrity": "sha1-/j/fLvV9wtWP7dTx4GeGYHcshDo=", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.3.tgz", + "integrity": "sha1-7ryZ51gyiR1YUyUBh5ynSbFZL5M=", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.3.tgz", + "integrity": "sha1-mi3yNNYXY6RGAeuhfDaEShjyBTk=", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.3.tgz", + "integrity": "sha1-8ORep+Qe5HPIVFix7I+rlXLMGDQ=", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.3.tgz", + "integrity": "sha1-7WPexXZ5n6VXHu5bIED2X6qCtJs=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.3.tgz", + "integrity": "sha1-dVxWrHmxf73wNZvOfiKToR3jCtA=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.3.tgz", + "integrity": "sha1-hLQXD+KMK0HkBq3WzPhRO/kRleo=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.3.tgz", + "integrity": "sha1-T7DNAEGD2oGb7IBOunDx72k2zL8=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.3.tgz", + "integrity": "sha1-F4i6gDE0d6MeYhQ5CQYgFgTuOOs=", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.3.tgz", + "integrity": "sha1-hnIi8oipVXSHkAx4NpmBI+u63J0=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.3.tgz", + "integrity": "sha1-P1W26P6Amn0plZ1rxobM4YBFgfA=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@schematics/angular": { + "version": "20.3.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@schematics/angular/-/angular-20.3.15.tgz", + "integrity": "sha1-tm2cO1VQvGYPuA7I/e6tQ9+ad20=", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.3.15", + "@angular-devkit/schematics": "20.3.15", + "jsonc-parser": "3.3.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/bundle": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/bundle/-/bundle-4.0.0.tgz", + "integrity": "sha1-hU7aQ+tqWTUgN+SQABd8iQRXL4M=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.5.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/core": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/core/-/core-3.1.0.tgz", + "integrity": "sha1-tBjec/VjM62eNpuRUXPYyY6bltU=", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.5.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/protobuf-specs/-/protobuf-specs-0.5.0.tgz", + "integrity": "sha1-5fAp7cs6QymFOgm2AwEeYQQ+sAU=", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/sign/-/sign-4.1.0.tgz", + "integrity": "sha1-Y98VoTczeyn0Y6HRxR4ffUwdsvE=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.1.0", + "@sigstore/protobuf-specs": "^0.5.0", + "make-fetch-happen": "^15.0.3", + "proc-log": "^6.1.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/sign/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "4.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/tuf/-/tuf-4.0.1.tgz", + "integrity": "sha1-mwgDkJNteeo7aok7ZLrzEj6S1tM=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.5.0", + "tuf-js": "^4.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@sigstore/verify/-/verify-3.1.0.tgz", + "integrity": "sha1-QEbUGGQh23eVAf6H+lrKpdTSGwg=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.1.0", + "@sigstore/protobuf-specs": "^0.5.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha1-gh+EQvQXXY8EZ7na8m46GOLQKvI=", + "dev": true, + "license": "MIT" + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha1-pS9ho9c3SDP8qUWyVJvDCi3UDQo=", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@tufjs/models/-/models-4.1.0.tgz", + "integrity": "sha1-SUs5z14vaFXYADEkbdI22AhgabM=", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^10.1.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "10.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-10.1.2.tgz", + "integrity": "sha1-bD8on53mbWKPo/6xhCgEOWpD2Bw=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha1-2T6iZz/YyfaXNn9e7vwrv6lPA0I=", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha1-lYuRyZGxhnztMYvt6g4hXuBQcm4=", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jasmine": { + "version": "5.1.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@types/jasmine/-/jasmine-5.1.15.tgz", + "integrity": "sha1-WpqNfEVZAImoYvw+HAxw06+BEnQ=", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@types/node/-/node-25.2.1.tgz", + "integrity": "sha1-N4Ah+edlu2W6Nt4W88OoYiwfoD0=", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", + "integrity": "sha1-xw0qkivEN/FUCJ1+8FBdtLOD63s=", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha1-53qX+9NFt22DJF7c0X05OxtB+zE=", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/abbrev": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/abbrev/-/abbrev-4.0.0.tgz", + "integrity": "sha1-7JM/Die2zWDom1xrKjBK9CIJuwU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha1-u89LpQdUZ/PyEx6rPP/HPC9deJU=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha1-48121MVI7oldPD/Y3B9sW5Ay56g=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha1-N9mlx3ava8ktf0+VEOukwKYNEaY=", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha1-PV3HYryhdnnDwup+kK1rdTIwlXg=", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/algoliasearch": { + "version": "5.35.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/algoliasearch/-/algoliasearch-5.35.0.tgz", + "integrity": "sha1-zhLR0ofW9KgLmZhWj4Bsktq7pWY=", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.1.0", + "@algolia/client-abtesting": "5.35.0", + "@algolia/client-analytics": "5.35.0", + "@algolia/client-common": "5.35.0", + "@algolia/client-insights": "5.35.0", + "@algolia/client-personalization": "5.35.0", + "@algolia/client-query-suggestions": "5.35.0", + "@algolia/client-search": "5.35.0", + "@algolia/ingestion": "1.35.0", + "@algolia/monitoring": "1.35.0", + "@algolia/recommend": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ansi-escapes": { + "version": "7.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-escapes/-/ansi-escapes-7.3.0.tgz", + "integrity": "sha1-U5W7dLIVCkodbjwlZfSuynjShic=", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha1-YCFu6kZNhkWXzigyAAc4oFiWUME=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha1-wETV3MUhoHZBNHJZehrLHxA8QEE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", + "dev": true, + "license": "MIT" + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha1-J3Csa8R9MSr5eov5pjQ0LgzSXLY=", + "dev": true, + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha1-PlCMQ8Rtlh6019LluNHdD57k9Ig=", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/beasties": { + "version": "0.3.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/beasties/-/beasties-0.3.5.tgz", + "integrity": "sha1-pSq+pOrRBcGt7WaxoBp06WWF3IE=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "css-select": "^6.0.0", + "css-what": "^7.0.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "htmlparser2": "^10.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.49", + "postcss-media-query-parser": "^0.2.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "2.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha1-GjLNuWa+r2jeUKnfvltY+Dy4iQw=", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha1-q5tFRGblqMw6GHvqrVgEEqnFuEM=", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/braces/-/braces-3.0.3.tgz", + "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha1-f1NFlGKMU8YxAQeeJ+QN5JBFapU=", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U=", + "dev": true, + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha1-iwvuuYYFrfGxKPpDhkA8AJ4CIaU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "20.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cacache/-/cacache-20.0.3.tgz", + "integrity": "sha1-vWUgXV5thuArv6+OTOYAjxuB0Rk=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^5.0.0", + "fs-minipass": "^3.0.0", + "glob": "^13.0.0", + "lru-cache": "^11.1.0", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^13.0.0", + "unique-filename": "^5.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "13.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/glob/-/glob-13.0.1.tgz", + "integrity": "sha1-xZolAMml8auc3TcCF87WPCqoHmA=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.2", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "11.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", + "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "10.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-10.1.2.tgz", + "integrity": "sha1-bD8on53mbWKPo/6xhCgEOWpD2Bw=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha1-S1QowiK+mF15w9gmV0edvgtZstY=", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha1-I43pNdKippKSjFOMfM+pEGf9Bio=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001769", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz", + "integrity": "sha1-GtkVlPrX3CM3d8J4GHmrVAn32cI=", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha1-sSOLbiPqM3r3HH+KKV21rwwViuo=", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chardet": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chardet/-/chardet-2.1.1.tgz", + "integrity": "sha1-XHVZNwSmQvce5TcX3yNAMeZTc8g=", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha1-e+N6TAPJruHs/oYqSiOyxwwgXTA=", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha1-mFXmTs0kCpzEJnzopKpdJKHaFeQ=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha1-JKSDHs9aawHd6zL7caSyCIsNzjg=", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha1-F3Oo9LnE1qwxVj31Oz/B15Ri/kE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha1-bMKKKST+6eJc6R6XPbVscGbmFyo=", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha1-QtqsQdPCVO84rYrAN2chMBc2kcU=", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha1-b3iQ84b28feZU63B943sRvzC0pE=", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha1-lWgy3qlJQwbm0gnrhxZDu4c9fJg=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha1-nreT5oMwZ/cjWQL807CZF6AAqVo=", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true, + "license": "MIT" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/connect/-/connect-3.7.0.tgz", + "integrity": "sha1-XUk0iRDKpeB6AYALAw0MNfIEhPg=", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "license": "MIT" + }, + "node_modules/connect/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/content-disposition/-/content-disposition-1.0.1.tgz", + "integrity": "sha1-qLe76ykEvv37Z4flwMCGlZ9gX5s=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha1-i3cxYmVtHRCGeEyPI6VM5tc9eRg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha1-f6rmI1P7QhM2bQypg1jSLoNosF8=", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha1-VWNpxHKiupEPKXmJG1JrNDYjftc=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha1-V8f8PMKTrKuf7FTXPhVpDr5KF5M=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cors/-/cors-2.8.6.tgz", + "integrity": "sha1-/13Wm9leVHUDgg0pq6T4+vjf7JY=", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha1-ilj+ePANzXDDcEUXWd+/rwPo7p8=", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha1-fmPwmIGtEYCECRBI7VQ3htrZZkQ=", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "7.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha1-V5b769Q1cdc8YLoN16bnXdDSL+Q=", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true, + "license": "MIT" + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha1-eo5YRDT7FppSHIt6pIHzVYENlAA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/debug/-/debug-4.4.3.tgz", + "integrity": "sha1-xq5DLZvZZiWC/OCHCbA4xY6ePWo=", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/depd/-/depd-2.0.0.tgz", + "integrity": "sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha1-SANzVQmti+VSk0xn32FPlOZvoBU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha1-aJxdzcGQDvVYOky59te0c3QgdK0=", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true, + "license": "MIT" + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "license": "MIT", + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha1-5BuALh7t+fbK4YPOXmIteJ19jlM=", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha1-XEXo6GmVJiYzHXqrMm0B2vZdWJ0=", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha1-zDhff3UfHR/GUMITdIBCVFOMfTE=", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha1-7b/itmiwwdl8JLrw8QYrEyIhvHg=", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha1-165mfh3INIL4tw/Q9u78UNow9Yo=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.286", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha1-FCvhq14c1QRJVNsOWJj2CklgOE4=", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha1-vz1uj3+P0ipl2XA0dbwBRzV6aw0=", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha1-e46omAd9fkCdOsRUdOo46vCFelg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha1-VldK/deR9UqOmyeFwFgqLSYhD6k=", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha1-pS+AvzjaGVLrXGgXkHGYcaGnJQE=", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/engine.io": { + "version": "6.6.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/engine.io/-/engine.io-6.6.5.tgz", + "integrity": "sha1-oAlSL11WKBCXgbRnIgFDSYWSadI=", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.4.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.18.3" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha1-ANxbl7HyM6I8k5jQIJUEz1+U2S8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha1-C/C+EltnAUrcsLCSHmLbe//hay4=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha1-WOMjpy/twNb5zU0x/kn1FHlZDM0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ent": { + "version": "2.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ent/-/ent-2.2.2.tgz", + "integrity": "sha1-IqXtL9fODLz/HRR0z0kJpEvbboU=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "punycode": "^1.4.1", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/entities/-/entities-4.5.0.tgz", + "integrity": "sha1-XSaOpecRPsdMTQM7eepaNaSI+0g=", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha1-QgOZ1BbOH76bwKB8Yvpo1n/Q+PI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/environment/-/environment-1.1.0.tgz", + "integrity": "sha1-jobGaxgPNjx6sxF4fgJZZl9FqfE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha1-I8Lzt1b/38YI0w4nyalBAkgH5/k=", + "dev": true, + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha1-mD6y+aZyTpMD9hrd8BHHLgngsPo=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha1-HE8sSDcydZfOadLKGQp/3RcjOME=", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha1-FauOOa5s3GTCT/iiwK71s/2fqXY=", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true, + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=", + "dev": true, + "license": "MIT" + }, + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha1-EVdiLi9Td7tq7yEUNycougwVaYk=", + "dev": true, + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha1-KS4WXjTKy8k2w8knGe8ybUrrTpA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha1-Uc+SwcBJPHZgU/nTq+5ENMJE0vY=", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/express/-/express-5.2.1.tgz", + "integrity": "sha1-jyHRW20yf5K0eU7PjLCKcvlWrAQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "7.5.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/express-rate-limit/-/express-rate-limit-7.5.1.tgz", + "integrity": "sha1-jDpC9pIJo6HJaYkAcOzp4gqHnew=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/extend/-/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha1-Zu7P9sdkwN+bdi5iyn7c+1O07fo=", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha1-7Sq5Z6MxreYvGNB32uGSaE1Q01A=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha1-osUXplWYUrzbBtH4vX9Rto+tgJk=", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha1-Z8j62VRUp8er6/dLt47nSkQCM1g=", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha1-d31z1yqS+OxNLkEOtHNSpWuOg0A=", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha1-ImmTZCiq1MFcfr6XeahL8LKoGBE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha1-jdffahs6Gzpc8YbAWl3SZ2ImNaQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha1-eahZgcTcEgBl6W9iCGv2+dwmzFQ=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.4.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", + "integrity": "sha1-m8TKoTFwK0thcpy35Cc1vFUMnuY=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha1-dD8OO2lkqTpUke0b/6rgVNf5jQE=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha1-FQs/J0OGnvPoUewMSdFbHRTQDuE=", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/glob/-/glob-7.2.3.tgz", + "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha1-x1KXCHyFG5pXi9IX3VmpL1n+VG4=", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha1-ifVrghe9vIgCvSmd9tfxCB1+UaE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=", + "dev": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha1-/JxqeDoISVHQuXH+EBjegTcHozg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha1-LNxC1AvvLltO6rfAGnPFTOerWrw=", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hono": { + "version": "4.11.8", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/hono/-/hono-4.11.8.tgz", + "integrity": "sha1-WgVnNKdeo8rYa00ab35WKiFOaOk=", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/hosted-git-info": { + "version": "9.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/hosted-git-info/-/hosted-git-info-9.0.2.tgz", + "integrity": "sha1-s4yKgCsnTide7sz59KGxoKhVeto=", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^11.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "11.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", + "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha1-39YAJ9o2o238viNiYsAKWCJoFFM=", + "dev": true, + "license": "MIT" + }, + "node_modules/htmlparser2": { + "version": "10.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/htmlparser2/-/htmlparser2-10.1.0.tgz", + "integrity": "sha1-/j8uEsc7bkYtThA5XbnBEZ5NauQ=", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "entities": "^7.0.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "7.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/entities/-/entities-7.0.1.tgz", + "integrity": "sha1-JuioiInbY0F9y5oeeaPxvJK1l2s=", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha1-IF9Ntk+FYrdqT/kjWqUnmDmgndU=", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha1-NtL2W8kJyHkAGN02+02T2myq4Gs=", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha1-mosfJGhmwChQlIZYX2K48sGMJw4=", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha1-2o3+rH2hMLBcK6S1nJts1mYRprk=", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha1-0L3qw/ErSDW3NZwq2JxCKk0cxy4=", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ignore-walk": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ignore-walk/-/ignore-walk-8.0.0.tgz", + "integrity": "sha1-OAwXO63DoYxX/zNEB1PwBS9XKxQ=", + "dev": true, + "license": "ISC", + "dependencies": { + "minimatch": "^10.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "10.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-10.1.2.tgz", + "integrity": "sha1-bD8on53mbWKPo/6xhCgEOWpD2Bw=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/immutable": { + "version": "5.1.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/immutable/-/immutable-5.1.4.tgz", + "integrity": "sha1-4/jB/ntWfVbPJmmPMZGMJB2ujB8=", + "dev": true, + "license": "MIT" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ini/-/ini-5.0.0.tgz", + "integrity": "sha1-p6RhUzmEPZqMzC2Fydgc+T/7xjg=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/ip-address": { + "version": "10.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ip-address/-/ip-address-10.1.0.tgz", + "integrity": "sha1-2Nz/s00OAuskFCdESm4j9bBZWqQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha1-KpiAGoSfQ+Kt1kT7trxiKbGaTvQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha1-+uMWfHKedGP4RhzlErCApJJoqog=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha1-QMV2FFk4JtoRAK3mBZd41ZfxbpA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha1-Qv+fhCBsGZHSbev1IN1cAQQt0vM=", + "dev": true, + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha1-dtcKPtEO+b5I61d4h9dCBb8MrSI=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha1-CfCrDebTdE1I0mXruY9l0R8qmzo=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha1-DFteMMJVei8G/r03tzIpRqruQrM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha1-LRZsSwZE1Do58Ev2wu3R5YXzF1Y=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha1-+hVAHfbBWHS8shBfdzMl14xmZ2U=", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha1-kIMFusmlvRdaxqdEier9D8JEWn0=", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha1-iV86cJ/PujTG3lpCk5Ai8+Q1hVE=", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha1-y0U1FitXhKpiPO4hpyUs8sgHrJM=", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jasmine-core": { + "version": "5.8.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jasmine-core/-/jasmine-core-5.8.0.tgz", + "integrity": "sha1-imi3sgmwbCJH1nSQvKhgTC+kmM0=", + "dev": true, + "license": "MIT" + }, + "node_modules/jose": { + "version": "6.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jose/-/jose-6.1.3.tgz", + "integrity": "sha1-hFPXvoive7fWSgSB1qNaAUW6PqU=", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha1-dNM1ojT2ftGZB/2t+sfM+dQJgl0=", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/json-parse-even-better-errors/-/json-parse-even-better-errors-5.0.0.tgz", + "integrity": "sha1-k8ifUp8CLl2twjNAkyTwFnsekD4=", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-typed": { + "version": "8.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/json-schema-typed/-/json-schema-typed-8.0.2.tgz", + "integrity": "sha1-6Y7nsYmf9KGEU00fFnwojGa77/Q=", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/json5/-/json5-2.2.3.tgz", + "integrity": "sha1-eM1vGhm9wStz21rQxh79ZsHikoM=", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha1-8qUktPf9EePXkeVZl3rWC5i3mLQ=", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/karma": { + "version": "6.4.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/karma/-/karma-6.4.4.tgz", + "integrity": "sha1-36WkJs9ai1O0PNVO8NDQl0I1FJI=", + "dev": true, + "license": "MIT", + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.7.2", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", + "integrity": "sha1-65yVAk8tbfuzdI00FaybOBkGuak=", + "dev": true, + "license": "MIT", + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-chrome-launcher/node_modules/which": { + "version": "1.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/karma-coverage": { + "version": "2.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/karma-coverage/-/karma-coverage-2.2.1.tgz", + "integrity": "sha1-4cwHT5Os6dxPt+euynE1h5wuNYw=", + "dev": true, + "license": "MIT", + "dependencies": { + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha1-0QyIhcISVXThwjHKyt+VVnXhzj0=", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma-coverage/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha1-OvRVimUC+haFag80bsIZPUuISy8=", + "dev": true, + "license": "MIT", + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", + "integrity": "sha1-+VGtALCNYdA1lUAskU0aWJxJMOM=", + "dev": true, + "license": "MIT", + "peerDependencies": { + "jasmine-core": "^4.0.0 || ^5.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" + } + }, + "node_modules/karma-jasmine/node_modules/jasmine-core": { + "version": "4.6.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/jasmine-core/-/jasmine-core-4.6.1.tgz", + "integrity": "sha1-XruK+gcoIHj417FYcXN6g7dOWPI=", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/karma/node_modules/body-parser": { + "version": "1.20.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha1-+OIPTQbKilCnHtMpwV3MrRzcVH8=", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/karma/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/karma/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/karma/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/karma/node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha1-EcZlDudwp94bSU8ZeSfeDJI4IuI=", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/karma/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/listr2": { + "version": "9.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/listr2/-/listr2-9.0.1.tgz", + "integrity": "sha1-PK0S2B2Zj4AkYh2bNclp26XaQQM=", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/listr2/node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha1-qG1mFwQzcS3egUcHrFK1JxzrH+s=", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha1-lWgy3qlJQwbm0gnrhxZDu4c9fJg=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lmdb": { + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lmdb/-/lmdb-3.4.2.tgz", + "integrity": "sha1-jZDRLsmldQUtMCYuabCgKj0QPOs=", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "msgpackr": "^1.11.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.5.3", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.4.2", + "@lmdb/lmdb-darwin-x64": "3.4.2", + "@lmdb/lmdb-linux-arm": "3.4.2", + "@lmdb/lmdb-linux-arm64": "3.4.2", + "@lmdb/lmdb-linux-x64": "3.4.2", + "@lmdb/lmdb-win32-arm64": "3.4.2", + "@lmdb/lmdb-win32-x64": "3.4.2" + } + }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha1-8ROwN4OGEDvk9okziMc9C95/LFo=", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha1-u5Xl8FMiZRysMMD+tkBPnyqKlDk=", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha1-2CSYS2FsKSouGYIH1KYJmDhC9xQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha1-GgT/OBZvlGR64a9WL0vWoVsbfNQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha1-BGsqbU9rFWsiM9MgfUtal4OZm5g=", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.3.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha1-rfe+cKptchYtkHzQ5tXBH1B7VAM=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha1-lWgy3qlJQwbm0gnrhxZDu4c9fJg=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha1-q6Wj/054cq40+LTFM3BnU3CeOLY=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha1-RQpElnPSRg5bvPupphkWoXFMdFM=", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha1-w8IwencSd82WODBfkVwprnQbYU4=", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-fetch-happen": { + "version": "15.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/make-fetch-happen/-/make-fetch-happen-15.0.3.tgz", + "integrity": "sha1-FXjXKIXys/nl2qEgs2oU/DGoRhA=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^4.0.0", + "cacache": "^20.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^5.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^6.0.0", + "promise-retry": "^2.0.1", + "ssri": "^13.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/make-fetch-happen/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha1-oN10voHiqlwvJ+Zc4oNgXuTit/k=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha1-ardLjy0zIPIGSyqHo455Mf86VWE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha1-6pIvZgY1oiSe5WXgRJ+VHmtgOAg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime/-/mime-2.6.0.tgz", + "integrity": "sha1-oqaCqVzU0MsdYlfij4PafjWAA2c=", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha1-zds+5PnGRTDf9kAjZmHULLajFPU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha1-OQAtQYJXXVrwNv+hGBAPJSSy4qs=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha1-rL4rM0n5m53qyn+3Dki4PpTmcHY=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha1-waRk52kzAuCCoHXO4MBXdBrEdyw=", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha1-k6libOXl5mvU24aEnnUV6SNApwc=", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha1-FiG8d+EiWKEsYNNOInbsXCBoCGM=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-fetch/-/minipass-fetch-5.0.1.tgz", + "integrity": "sha1-yNYtwDk/nUvBVkIff7EDIc1Uppc=", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^2.0.0", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha1-e7o4TbOhUg0YycDlJRw0ROld2Uo=", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha1-aEcveXEcCEZXwGfFxq2Tzd6oIUw=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha1-e7o4TbOhUg0YycDlJRw0ROld2Uo=", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-sized": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minipass-sized/-/minipass-sized-2.0.0.tgz", + "integrity": "sha1-Iijul+P3T2sium0TGa3bdiFTQwY=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha1-atdsOo8QInybUdHJrI4wsn9aJRw=", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha1-fe8D0kMtyuS6HWEURcSDlgYiVfY=", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha1-vD6H95h4U6VMmFDusfEHjNRK3dw=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ms/-/ms-2.1.3.tgz", + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", + "dev": true, + "license": "MIT" + }, + "node_modules/msgpackr": { + "version": "1.11.8", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/msgpackr/-/msgpackr-1.11.8.tgz", + "integrity": "sha1-goPHnrbl1Ij2+z+sSZYAa6o5BhQ=", + "dev": true, + "license": "MIT", + "optional": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha1-6dhwI945znFIcvnpUE48GZbWEBI=", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } + }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha1-pURvwMUStxyDxE2QjVx7e0xJOys=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha1-T08RLO++MDIC8hmYOBKJNiZtGFs=", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha1-tskbtHFy1p+Tz9fDV7u1KQGbX2o=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha1-rIRwA05Y5n0MbxIEoYrmmV2cDXY=", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-gyp": { + "version": "12.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/node-gyp/-/node-gyp-12.2.0.tgz", + "integrity": "sha1-/3P29QnjPYt+do+In/yXOK0Rewc=", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^15.0.0", + "nopt": "^9.0.0", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "tar": "^7.5.4", + "tinyglobby": "^0.2.12", + "which": "^6.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha1-Ui9QwtUxNNfzp2zXJV3kq2yWo6Q=", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/isexe/-/isexe-3.1.2.tgz", + "integrity": "sha1-COU0nbA/8GVPOz7+eY+UqkvaT48=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/node-gyp/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-6.0.0.tgz", + "integrity": "sha1-o6choUzdm5kaci5JPBd+7/gv8yo=", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha1-7tylGSBc8g9lD2HVawcNsREjHk4=", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "9.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/nopt/-/nopt-9.0.0.tgz", + "integrity": "sha1-a/8INrKWTSRQi2tBtamknE9KH5Y=", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^4.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-bundled": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-bundled/-/npm-bundled-5.0.0.tgz", + "integrity": "sha1-UCXYR8/QbHuNlDLfAWldATPZ7oA=", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^5.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-install-checks": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-install-checks/-/npm-install-checks-8.0.0.tgz", + "integrity": "sha1-9dGOkJu4MY2FCT6djzasQnwcvjA=", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz", + "integrity": "sha1-KyB/8mDy5SXdzpM1ZhTi9zZyj4k=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-package-arg": { + "version": "13.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-package-arg/-/npm-package-arg-13.0.0.tgz", + "integrity": "sha1-vm/X5gxv1gW4X1cOiMrOReJBbIs=", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^9.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-packlist": { + "version": "10.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-packlist/-/npm-packlist-10.0.3.tgz", + "integrity": "sha1-4iwDk1f6+Bp10bDN9T3RE/K+2cc=", + "dev": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^8.0.0", + "proc-log": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-packlist/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "11.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-pick-manifest/-/npm-pick-manifest-11.0.3.tgz", + "integrity": "sha1-ds9lk6NRhJAGw2s4pzJnmOKnbRM=", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^8.0.0", + "npm-normalize-package-bin": "^5.0.0", + "npm-package-arg": "^13.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "19.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/npm-registry-fetch/-/npm-registry-fetch-19.1.1.tgz", + "integrity": "sha1-UeltIfQJqbxPlq8hioYD6IRFkCQ=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^4.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^15.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^5.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^13.0.0", + "proc-log": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha1-yeq0KO/842zWuSySS9sADvHx7R0=", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha1-g3UmXiG8IND6WCwi4bE0hdbgAhM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha1-WMjEQRblSEWtV/FKsQsDUzGErD8=", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha1-nxbJLYye9RIOOs2d2ZV8zuzBq2A=", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "8.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ora/-/ora-8.2.0.tgz", + "integrity": "sha1-j7u3FRr+M7VA3RU/Fx/6i9OOmGE=", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ordered-binary": { + "version": "1.6.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ordered-binary/-/ordered-binary-1.6.1.tgz", + "integrity": "sha1-WsJA6nGdag5tTwSFOF0/nLHNRDI=", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/p-map": { + "version": "7.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/p-map/-/p-map-7.0.4.tgz", + "integrity": "sha1-uBgUJV9ULiUtVyncpNZuXsFJNbg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pacote": { + "version": "21.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/pacote/-/pacote-21.0.4.tgz", + "integrity": "sha1-Wc0qK1pMjBtiXzOZGpaxNtHAXZU=", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^7.0.0", + "@npmcli/installed-package-contents": "^4.0.0", + "@npmcli/package-json": "^7.0.0", + "@npmcli/promise-spawn": "^9.0.0", + "@npmcli/run-script": "^10.0.0", + "cacache": "^20.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^13.0.0", + "npm-packlist": "^10.0.1", + "npm-pick-manifest": "^11.0.1", + "npm-registry-fetch": "^19.0.0", + "proc-log": "^6.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^4.0.0", + "ssri": "^13.0.0", + "tar": "^7.4.3" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/pacote/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha1-GFGUgqN9UZjiMRM6cBRKUPIfAhU=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/parse5": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/parse5/-/parse5-8.0.0.tgz", + "integrity": "sha1-rOsmf2sV+bbmup41v91IH8IWexI=", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz", + "integrity": "sha1-P0QuW1gRpUVuKla2jqRO8VO0TZI=", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0", + "parse5": "^8.0.0", + "parse5-sax-parser": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/entities/-/entities-6.0.1.tgz", + "integrity": "sha1-wow0pDN5yn9h0HQTCy9fcCCjBpQ=", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz", + "integrity": "sha1-SXVe+9K2OEbHuQiil6h0rwB2BxU=", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/entities/-/entities-6.0.1.tgz", + "integrity": "sha1-wow0pDN5yn9h0HQTCy9fcCCjBpQ=", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha1-S2VyN2z9i4EfypzR9cJLPLrA/hA=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/lru-cache/-/lru-cache-11.2.5.tgz", + "integrity": "sha1-aBGuAWUq5ddJlIzdgLzCIhjGdE8=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/path-to-regexp": { + "version": "8.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha1-qoGKaYH5kyEAOgiYfTzsnDR0zR8=", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha1-PTIa8+q5ObCDyPkpodEs2oHCa2s=", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha1-eWx2E20e6tcV2x57rXhd7daVoEI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/piscina": { + "version": "5.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/piscina/-/piscina-5.1.3.tgz", + "integrity": "sha1-MKRgUAoIdw/JfWIuY4V6WXjfxGY=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.x" + }, + "optionalDependencies": { + "@napi-rs/nice": "^1.0.4" + } + }, + "node_modules/pkce-challenge": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/pkce-challenge/-/pkce-challenge-5.0.1.tgz", + "integrity": "sha1-O0RGhlsXsXRems4gFqMfSN32Iw0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha1-KCUAZhWmGbT2Kp50JswSCzSajzw=", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", + "dev": true, + "license": "MIT" + }, + "node_modules/proc-log": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proc-log/-/proc-log-5.0.0.tgz", + "integrity": "sha1-5sk883rvM/g1xTSF8xT1DqkGqdg=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha1-/3R6E2IKtXumiPX8Z4VUEMNw2iI=", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha1-8Z/mnOqzEe65S0LnDowgcPm6ECU=", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true, + "license": "MIT" + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha1-xF6cYYAL0IfviNfiVkI73Unl0HE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.14.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/qs/-/qs-6.14.1.tgz", + "integrity": "sha1-pB2FudOQLzHSeGF5BQYpSIGHEVk=", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha1-PjraWuVWj5CV2EN2/TpJuPsAClE=", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha1-64WAFDX78qfuWPGeCSGwaPxplI0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha1-QAyEW2y6h6IfLGXErrFY9PpNnFs=", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha1-tmPoP/sJu/I4aURza6roAwKbizk=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha1-B2bZVpnvrLFBUJk/VbrwlT6h6+c=", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha1-d492xPtzHZNBTo+SX77PZMzn9so=", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.52.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/rollup/-/rollup-4.52.3.tgz", + "integrity": "sha1-zFwo13KwIs5IsjWpezR8zZ2IwaM=", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.52.3", + "@rollup/rollup-android-arm64": "4.52.3", + "@rollup/rollup-darwin-arm64": "4.52.3", + "@rollup/rollup-darwin-x64": "4.52.3", + "@rollup/rollup-freebsd-arm64": "4.52.3", + "@rollup/rollup-freebsd-x64": "4.52.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.52.3", + "@rollup/rollup-linux-arm-musleabihf": "4.52.3", + "@rollup/rollup-linux-arm64-gnu": "4.52.3", + "@rollup/rollup-linux-arm64-musl": "4.52.3", + "@rollup/rollup-linux-loong64-gnu": "4.52.3", + "@rollup/rollup-linux-ppc64-gnu": "4.52.3", + "@rollup/rollup-linux-riscv64-gnu": "4.52.3", + "@rollup/rollup-linux-riscv64-musl": "4.52.3", + "@rollup/rollup-linux-s390x-gnu": "4.52.3", + "@rollup/rollup-linux-x64-gnu": "4.52.3", + "@rollup/rollup-linux-x64-musl": "4.52.3", + "@rollup/rollup-openharmony-arm64": "4.52.3", + "@rollup/rollup-win32-arm64-msvc": "4.52.3", + "@rollup/rollup-win32-ia32-msvc": "4.52.3", + "@rollup/rollup-win32-x64-gnu": "4.52.3", + "@rollup/rollup-win32-x64-msvc": "4.52.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/router/-/router-2.2.0.tgz", + "integrity": "sha1-AZvmILcRyHZBFnzHm5kJDwCxRu8=", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha1-lVvEc+2K8RoAKivlIHG/R1Y4YHs=", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha1-f4fftnoxUHguqvGFg/9dFxGsEME=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.90.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/sass/-/sass-1.90.0.tgz", + "integrity": "sha1-1vwr5Jx8CGzobqCyMaNb+eM8uEs=", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/semver/-/semver-7.7.2.tgz", + "integrity": "sha1-Z9mf3NNc7CHm+Lh6f9UVoz+YK1g=", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/send/-/send-1.2.1.tgz", + "integrity": "sha1-nqt0O4dPNVD0CiaGe/KGrWDT8+0=", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha1-fxhqSk5fW2Y616QpT/G/N88OmKk=", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha1-ZsmiSnP5/CjL5msJ/tPTPcrxtCQ=", + "dev": true, + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha1-w/z/nE2pMnhIczNeyXZfqU/2a8k=", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha1-EMtZhCYxFdO3oOM2WR4pCoMK+K0=", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha1-1rtrN5Asb+9RdOX1M/q0xzKib0I=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha1-Ed2hnVNo5Azp7CvcH7DsvAeQ7Oo=", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha1-lSGIwcvVRgcOLdIND0HArgUwywQ=", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sigstore": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/sigstore/-/sigstore-4.1.0.tgz", + "integrity": "sha1-00uSpUSgXgA6JDAgnSbY36/YBaA=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.1.0", + "@sigstore/protobuf-specs": "^0.5.0", + "@sigstore/sign": "^4.1.0", + "@sigstore/tuf": "^4.0.1", + "@sigstore/verify": "^3.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha1-tzBjxXqpb5zYgWVLFSlNldKFxCo=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha1-bh1x+k8YwF99D/IW3RakgdDo2a4=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socket.io": { + "version": "4.8.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/socket.io/-/socket.io-4.8.3.tgz", + "integrity": "sha1-ymuhQxxpUy4eCm9Jbe6+tgHbxN8=", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.4.1", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/socket.io-adapter/-/socket.io-adapter-2.5.6.tgz", + "integrity": "sha1-xpf2CdNqZ2pGdJeCJ0YH2N9Swdg=", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "~4.4.1", + "ws": "~8.18.3" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/socket.io-parser/-/socket.io-parser-4.2.5.tgz", + "integrity": "sha1-P0G402kSmpMmjyq+y6lLUpKFAJk=", + "dev": true, + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.4.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha1-C/C+EltnAUrcsLCSHmLbe//hay4=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha1-WOMjpy/twNb5zU0x/kn1FHlZDM0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/socks/-/socks-2.8.7.tgz", + "integrity": "sha1-4vsdmmA63XUFCiBn24w4GgtWaeo=", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha1-uc205+mYUJ12WdaJznaXrCFkW+4=", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha1-o2WKuH5bZCnIofO6AIPUxhyj7wI=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha1-HOVlD93YerwJnto33P8CTCZnrkY=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha1-BP58f54e0tZiIzwoyys1ufY/bk8=", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha1-T1qwZo8AWeNPnADc4zF4ShLeTpw=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha1-XWB9J/yAb2bXtkp2ZlD6iQ8E7WY=", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha1-q/Wgim9dcnlVm2afR/CkPo80ZO8=", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/ssri": { + "version": "13.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ssri/-/ssri-13.0.0.tgz", + "integrity": "sha1-QiazA9xHQAPYiQX5CYywM2EQbHQ=", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha1-j3XuzvdlteHPzcCA2llAntQk44I=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha1-OQA39ExK4aGuU1xf443Dq6jZl74=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha1-EmMYIymkXe8f+u9Y0xsV0T0u5/8=", + "dev": true, + "license": "MIT", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha1-tbuOIWXOJ11NQ0dt0nAK2Qkdttw=", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha1-Eyh1q95njH6o1pFTPy5+Irt0Tbo=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar": { + "version": "7.5.7", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tar/-/tar-7.5.7.tgz", + "integrity": "sha1-rfmXdACLociYGfFdvWAZxjBTlAU=", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha1-AOLeRDY57Q14/YfeDSdGn7z/tTM=", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha1-UoCwzz+XKwUOdK6IQGwKalj0B50=", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha1-sGvNI/DzyDV7QmiRcm0WAVq/2Pg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha1-O+NDIaiKgg7RvYDfqjPkefu43TU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha1-YS7+TtI11Wfoq6Xypfq3AoCt6D8=", + "license": "0BSD" + }, + "node_modules/tuf-js": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tuf-js/-/tuf-js-4.1.0.tgz", + "integrity": "sha1-rk75r6RW/LSvED3FCkO8Ax8GZgM=", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/models": "4.1.0", + "debug": "^4.4.3", + "make-fetch-happen": "^15.0.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha1-ZPbPA/kvzkAVwrIkeT9r3UsGjJc=", + "dev": true, + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha1-kvij5ePPSXNW9BeMNM1lp/XoRA4=", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.41", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ua-parser-js/-/ua-parser-js-0.7.41.tgz", + "integrity": "sha1-n23uWMOJ6K+rq6YqSi3CLttppFI=", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha1-/8zf82rqSITL/OmnUKBYAiT1ikY=", + "dev": true, + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/unique-filename/-/unique-filename-5.0.0.tgz", + "integrity": "sha1-ixe73hp8oyLdGh0j/hfCt5jEP48=", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/unique-slug": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/unique-slug/-/unique-slug-6.0.0.tgz", + "integrity": "sha1-9G/WiKm9ly/TVsI9lYEqOkhi7Yg=", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha1-ZNdttYcTE2rL60xJEUNmzGzC6A0=", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz", + "integrity": "sha1-To0sTZOZdac90bemXo8I1EyF35Y=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "7.1.11", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/vite/-/vite-7.1.11.tgz", + "integrity": "sha1-TQBnRhEv7gVt9kmFGR6Ebr+2AH4=", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha1-4ijdHmOM6pk9L9tPzS1GAqeZUcI=", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha1-RzvacvCFBFPaZCUIHqRvwNdgKUc=", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha1-/btnQfNrrpVA0S9IDOglQGDczRk=", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/which/-/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/ws/-/ws-8.18.3.tgz", + "integrity": "sha1-tWuIq//eYnkcY5FwQAyT3LDJVHI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha1-bIQlmAYnOnRrCfV5CHtoo8LSW9E=", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha1-h7gglAUbBWdxc0bs0A/RSASzV8g=", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha1-fklk6o7EIrekCskX06NEz9IwS6o=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.1.13", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/zod/-/zod-4.1.13.tgz", + "integrity": "sha1-k2maiv6Te6lrrbsM6L5gM8CktrE=", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", + "integrity": "sha1-fySWIQGkOd2t4r8a6rPDv+x9hLo=", + "dev": true, + "license": "ISC", + "peerDependencies": { + "zod": "^3.25 || ^4" + } + }, + "node_modules/zone.js": { + "version": "0.15.1", + "resolved": "https://pkgs.dev.azure.com/blackbaud/_packaging/Blackbaud-npm/npm/registry/zone.js/-/zone.js-0.15.1.tgz", + "integrity": "sha1-HhCa23X4Dp4ATujg1KClLgozZIE=", + "license": "MIT" + } + } +} diff --git a/client/admin/angular/package.json b/client/admin/angular/package.json new file mode 100644 index 0000000..a6aaf23 --- /dev/null +++ b/client/admin/angular/package.json @@ -0,0 +1,46 @@ +{ + "name": "angular", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "prettier": { + "overrides": [ + { + "files": "*.html", + "options": { + "parser": "angular" + } + } + ] + }, + "private": true, + "dependencies": { + "@angular/common": "^20.1.0", + "@angular/compiler": "^20.1.0", + "@angular/core": "^20.1.0", + "@angular/forms": "^20.1.0", + "@angular/platform-browser": "^20.1.0", + "@angular/router": "^20.1.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/build": "^20.1.5", + "@angular/cli": "^20.1.5", + "@angular/compiler-cli": "^20.1.0", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.8.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.2" + } +} diff --git a/client/angular/public/favicon.ico b/client/admin/angular/public/favicon.ico similarity index 100% rename from client/angular/public/favicon.ico rename to client/admin/angular/public/favicon.ico diff --git a/client/admin/angular/src/app/app.config.ts b/client/admin/angular/src/app/app.config.ts new file mode 100644 index 0000000..d953f4c --- /dev/null +++ b/client/admin/angular/src/app/app.config.ts @@ -0,0 +1,12 @@ +import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZoneChangeDetection } from '@angular/core'; +import { provideRouter } from '@angular/router'; + +import { routes } from './app.routes'; + +export const appConfig: ApplicationConfig = { + providers: [ + provideBrowserGlobalErrorListeners(), + provideZoneChangeDetection({ eventCoalescing: true }), + provideRouter(routes) + ] +}; diff --git a/client/angular/src/app/app.html b/client/admin/angular/src/app/app.html similarity index 100% rename from client/angular/src/app/app.html rename to client/admin/angular/src/app/app.html diff --git a/client/admin/angular/src/app/app.routes.ts b/client/admin/angular/src/app/app.routes.ts new file mode 100644 index 0000000..d2626ad --- /dev/null +++ b/client/admin/angular/src/app/app.routes.ts @@ -0,0 +1,9 @@ +import { Routes } from '@angular/router'; +import { Home } from './home/home'; + +export const routes: Routes = [ + { + path: '', + component: Home, + }, +]; diff --git a/client/angular/src/app/app.scss b/client/admin/angular/src/app/app.scss similarity index 100% rename from client/angular/src/app/app.scss rename to client/admin/angular/src/app/app.scss diff --git a/client/angular/src/app/app.spec.ts b/client/admin/angular/src/app/app.spec.ts similarity index 100% rename from client/angular/src/app/app.spec.ts rename to client/admin/angular/src/app/app.spec.ts diff --git a/client/admin/angular/src/app/app.ts b/client/admin/angular/src/app/app.ts new file mode 100644 index 0000000..0b7ca20 --- /dev/null +++ b/client/admin/angular/src/app/app.ts @@ -0,0 +1,12 @@ +import { Component, signal } from '@angular/core'; +import { RouterOutlet } from '@angular/router'; + +@Component({ + selector: 'app-root', + imports: [RouterOutlet], + templateUrl: './app.html', + styleUrl: './app.scss' +}) +export class App { + protected readonly title = signal('angular'); +} diff --git a/client/admin/angular/src/app/home/home.html b/client/admin/angular/src/app/home/home.html new file mode 100644 index 0000000..e0cbbb3 --- /dev/null +++ b/client/admin/angular/src/app/home/home.html @@ -0,0 +1,9 @@ +

Payments API Sample App

+ +

+ This is a sample application that demonstrates how to use the Payments API. +

+ +

Authentication

+ +Log in diff --git a/client/admin/angular/src/app/home/home.scss b/client/admin/angular/src/app/home/home.scss new file mode 100644 index 0000000..e69de29 diff --git a/client/admin/angular/src/app/home/home.spec.ts b/client/admin/angular/src/app/home/home.spec.ts new file mode 100644 index 0000000..e2d9468 --- /dev/null +++ b/client/admin/angular/src/app/home/home.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { Home } from './home'; + +describe('Home', () => { + let component: Home; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [Home] + }) + .compileComponents(); + + fixture = TestBed.createComponent(Home); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/client/admin/angular/src/app/home/home.ts b/client/admin/angular/src/app/home/home.ts new file mode 100644 index 0000000..fe83818 --- /dev/null +++ b/client/admin/angular/src/app/home/home.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-home', + imports: [], + templateUrl: './home.html', + styleUrl: './home.scss', +}) +export class Home { + +} diff --git a/client/admin/angular/src/index.html b/client/admin/angular/src/index.html new file mode 100644 index 0000000..aa06306 --- /dev/null +++ b/client/admin/angular/src/index.html @@ -0,0 +1,13 @@ + + + + + Angular + + + + + + + + diff --git a/client/angular/src/main.ts b/client/admin/angular/src/main.ts similarity index 100% rename from client/angular/src/main.ts rename to client/admin/angular/src/main.ts diff --git a/client/angular/src/styles.scss b/client/admin/angular/src/styles.scss similarity index 100% rename from client/angular/src/styles.scss rename to client/admin/angular/src/styles.scss diff --git a/client/angular/tsconfig.app.json b/client/admin/angular/tsconfig.app.json similarity index 100% rename from client/angular/tsconfig.app.json rename to client/admin/angular/tsconfig.app.json diff --git a/client/angular/tsconfig.json b/client/admin/angular/tsconfig.json similarity index 100% rename from client/angular/tsconfig.json rename to client/admin/angular/tsconfig.json diff --git a/client/angular/tsconfig.spec.json b/client/admin/angular/tsconfig.spec.json similarity index 100% rename from client/angular/tsconfig.spec.json rename to client/admin/angular/tsconfig.spec.json diff --git a/client/public/angular/.editorconfig b/client/public/angular/.editorconfig new file mode 100644 index 0000000..f166060 --- /dev/null +++ b/client/public/angular/.editorconfig @@ -0,0 +1,17 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single +ij_typescript_use_double_quotes = false + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/client/public/angular/.gitignore b/client/public/angular/.gitignore new file mode 100644 index 0000000..cc7b141 --- /dev/null +++ b/client/public/angular/.gitignore @@ -0,0 +1,42 @@ +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/client/public/angular/.vscode/extensions.json b/client/public/angular/.vscode/extensions.json new file mode 100644 index 0000000..77b3745 --- /dev/null +++ b/client/public/angular/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 + "recommendations": ["angular.ng-template"] +} diff --git a/client/public/angular/.vscode/launch.json b/client/public/angular/.vscode/launch.json new file mode 100644 index 0000000..925af83 --- /dev/null +++ b/client/public/angular/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "ng serve", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: start", + "url": "http://localhost:4200/" + }, + { + "name": "ng test", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: test", + "url": "http://localhost:9876/debug.html" + } + ] +} diff --git a/client/public/angular/.vscode/tasks.json b/client/public/angular/.vscode/tasks.json new file mode 100644 index 0000000..a298b5b --- /dev/null +++ b/client/public/angular/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "start", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + }, + { + "type": "npm", + "script": "test", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + } + ] +} diff --git a/client/public/angular/README.md b/client/public/angular/README.md new file mode 100644 index 0000000..35aca8b --- /dev/null +++ b/client/public/angular/README.md @@ -0,0 +1,59 @@ +# Angular + +This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.1.5. + +## Development server + +To start a local development server, run: + +```bash +ng serve +``` + +Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files. + +## Code scaffolding + +Angular CLI includes powerful code scaffolding tools. To generate a new component, run: + +```bash +ng generate component component-name +``` + +For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run: + +```bash +ng generate --help +``` + +## Building + +To build the project run: + +```bash +ng build +``` + +This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed. + +## Running unit tests + +To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command: + +```bash +ng test +``` + +## Running end-to-end tests + +For end-to-end (e2e) testing, run: + +```bash +ng e2e +``` + +Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs. + +## Additional Resources + +For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. diff --git a/client/angular/angular.json b/client/public/angular/angular.json similarity index 100% rename from client/angular/angular.json rename to client/public/angular/angular.json diff --git a/client/angular/package-lock.json b/client/public/angular/package-lock.json similarity index 100% rename from client/angular/package-lock.json rename to client/public/angular/package-lock.json diff --git a/client/angular/package.json b/client/public/angular/package.json similarity index 100% rename from client/angular/package.json rename to client/public/angular/package.json diff --git a/client/public/angular/public/favicon.ico b/client/public/angular/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 zcmd^G33O9Omi+`8$@{|M-I6TH3wzF-p5CV8o}7f~KxR60LK+ApEFB<$bcciv%@SmA zV{n>g85YMFFeU*Uvl=i4v)C*qgnb;$GQ=3XTe9{Y%c`mO%su)noNCCQ*@t1WXn|B(hQ7i~ zrUK8|pUkD6#lNo!bt$6)jR!&C?`P5G(`e((P($RaLeq+o0Vd~f11;qB05kdbAOm?r zXv~GYr_sibQO9NGTCdT;+G(!{4Xs@4fPak8#L8PjgJwcs-Mm#nR_Z0s&u?nDX5^~@ z+A6?}g0|=4e_LoE69pPFO`yCD@BCjgKpzMH0O4Xs{Ahc?K3HC5;l=f zg>}alhBXX&);z$E-wai+9TTRtBX-bWYY@cl$@YN#gMd~tM_5lj6W%8ah4;uZ;jP@Q zVbuel1rPA?2@x9Y+u?e`l{Z4ngfG5q5BLH5QsEu4GVpt{KIp1?U)=3+KQ;%7ec8l* zdV=zZgN5>O3G(3L2fqj3;oBbZZw$Ij@`Juz@?+yy#OPw)>#wsTewVgTK9BGt5AbZ&?K&B3GVF&yu?@(Xj3fR3n+ZP0%+wo)D9_xp>Z$`A4 zfV>}NWjO#3lqumR0`gvnffd9Ka}JJMuHS&|55-*mCD#8e^anA<+sFZVaJe7{=p*oX zE_Uv?1>e~ga=seYzh{9P+n5<+7&9}&(kwqSaz;1aD|YM3HBiy<))4~QJSIryyqp| z8nGc(8>3(_nEI4n)n7j(&d4idW1tVLjZ7QbNLXg;LB ziHsS5pXHEjGJZb59KcvS~wv;uZR-+4qEqow`;JCfB*+b^UL^3!?;-^F%yt=VjU|v z39SSqKcRu_NVvz!zJzL0CceJaS6%!(eMshPv_0U5G`~!a#I$qI5Ic(>IONej@aH=f z)($TAT#1I{iCS4f{D2+ApS=$3E7}5=+y(rA9mM#;Cky%b*Gi0KfFA`ofKTzu`AV-9 znW|y@19rrZ*!N2AvDi<_ZeR3O2R{#dh1#3-d%$k${Rx42h+i&GZo5!C^dSL34*AKp z27mTd>k>?V&X;Nl%GZ(>0s`1UN~Hfyj>KPjtnc|)xM@{H_B9rNr~LuH`Gr5_am&Ep zTjZA8hljNj5H1Ipm-uD9rC}U{-vR!eay5&6x6FkfupdpT*84MVwGpdd(}ib)zZ3Ky z7C$pnjc82(W_y_F{PhYj?o!@3__UUvpX)v69aBSzYj3 zdi}YQkKs^SyXyFG2LTRz9{(w}y~!`{EuAaUr6G1M{*%c+kP1olW9z23dSH!G4_HSK zzae-DF$OGR{ofP*!$a(r^5Go>I3SObVI6FLY)N@o<*gl0&kLo-OT{Tl*7nCz>Iq=? zcigIDHtj|H;6sR?or8Wd_a4996GI*CXGU}o;D9`^FM!AT1pBY~?|4h^61BY#_yIfO zKO?E0 zJ{Pc`9rVEI&$xxXu`<5E)&+m(7zX^v0rqofLs&bnQT(1baQkAr^kEsk)15vlzAZ-l z@OO9RF<+IiJ*O@HE256gCt!bF=NM*vh|WVWmjVawcNoksRTMvR03H{p@cjwKh(CL4 z7_PB(dM=kO)!s4fW!1p0f93YN@?ZSG` z$B!JaAJCtW$B97}HNO9(x-t30&E}Mo1UPi@Av%uHj~?T|!4JLwV;KCx8xO#b9IlUW zI6+{a@Wj|<2Y=U;a@vXbxqZNngH8^}LleE_4*0&O7#3iGxfJ%Id>+sb;7{L=aIic8 z|EW|{{S)J-wr@;3PmlxRXU8!e2gm_%s|ReH!reFcY8%$Hl4M5>;6^UDUUae?kOy#h zk~6Ee_@ZAn48Bab__^bNmQ~+k=02jz)e0d9Z3>G?RGG!65?d1>9}7iG17?P*=GUV-#SbLRw)Hu{zx*azHxWkGNTWl@HeWjA?39Ia|sCi{e;!^`1Oec zb>Z|b65OM*;eC=ZLSy?_fg$&^2xI>qSLA2G*$nA3GEnp3$N-)46`|36m*sc#4%C|h zBN<2U;7k>&G_wL4=Ve5z`ubVD&*Hxi)r@{4RCDw7U_D`lbC(9&pG5C*z#W>8>HU)h z!h3g?2UL&sS!oY5$3?VlA0Me9W5e~V;2jds*fz^updz#AJ%G8w2V}AEE?E^=MK%Xt z__Bx1cr7+DQmuHmzn*|hh%~eEc9@m05@clWfpEFcr+06%0&dZJH&@8^&@*$qR@}o3 z@Tuuh2FsLz^zH+dN&T&?0G3I?MpmYJ;GP$J!EzjeM#YLJ!W$}MVNb0^HfOA>5Fe~UNn%Zk(PT@~9}1dt)1UQ zU*B5K?Dl#G74qmg|2>^>0WtLX#Jz{lO4NT`NYB*(L#D|5IpXr9v&7a@YsGp3vLR7L zHYGHZg7{ie6n~2p$6Yz>=^cEg7tEgk-1YRl%-s7^cbqFb(U7&Dp78+&ut5!Tn(hER z|Gp4Ed@CnOPeAe|N>U(dB;SZ?NU^AzoD^UAH_vamp6Ws}{|mSq`^+VP1g~2B{%N-!mWz<`)G)>V-<`9`L4?3dM%Qh6<@kba+m`JS{Ya@9Fq*m6$$ zA1%Ogc~VRH33|S9l%CNb4zM%k^EIpqY}@h{w(aBcJ9c05oiZx#SK9t->5lSI`=&l~ z+-Ic)a{FbBhXV$Xt!WRd`R#Jk-$+_Z52rS>?Vpt2IK<84|E-SBEoIw>cs=a{BlQ7O z-?{Fy_M&84&9|KM5wt~)*!~i~E=(6m8(uCO)I=)M?)&sRbzH$9Rovzd?ZEY}GqX+~ zFbEbLz`BZ49=2Yh-|<`waK-_4!7`ro@zlC|r&I4fc4oyb+m=|c8)8%tZ-z5FwhzDt zL5kB@u53`d@%nHl0Sp)Dw`(QU&>vujEn?GPEXUW!Wi<+4e%BORl&BIH+SwRcbS}X@ z01Pk|vA%OdJKAs17zSXtO55k!;%m9>1eW9LnyAX4uj7@${O6cfii`49qTNItzny5J zH&Gj`e}o}?xjQ}r?LrI%FjUd@xflT3|7LA|ka%Q3i}a8gVm<`HIWoJGH=$EGClX^C0lysQJ>UO(q&;`T#8txuoQ_{l^kEV9CAdXuU1Ghg8 zN_6hHFuy&1x24q5-(Z7;!poYdt*`UTdrQOIQ!2O7_+AHV2hgXaEz7)>$LEdG z<8vE^Tw$|YwZHZDPM!SNOAWG$?J)MdmEk{U!!$M#fp7*Wo}jJ$Q(=8>R`Ats?e|VU?Zt7Cdh%AdnfyN3MBWw{ z$OnREvPf7%z6`#2##_7id|H%Y{vV^vWXb?5d5?a_y&t3@p9t$ncHj-NBdo&X{wrfJ zamN)VMYROYh_SvjJ=Xd!Ga?PY_$;*L=SxFte!4O6%0HEh%iZ4=gvns7IWIyJHa|hT z2;1+e)`TvbNb3-0z&DD_)Jomsg-7p_Uh`wjGnU1urmv1_oVqRg#=C?e?!7DgtqojU zWoAB($&53;TsXu^@2;8M`#z{=rPy?JqgYM0CDf4v@z=ZD|ItJ&8%_7A#K?S{wjxgd z?xA6JdJojrWpB7fr2p_MSsU4(R7=XGS0+Eg#xR=j>`H@R9{XjwBmqAiOxOL` zt?XK-iTEOWV}f>Pz3H-s*>W z4~8C&Xq25UQ^xH6H9kY_RM1$ch+%YLF72AA7^b{~VNTG}Tj#qZltz5Q=qxR`&oIlW Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/client/angular/src/app/app.config.ts b/client/public/angular/src/app/app.config.ts similarity index 100% rename from client/angular/src/app/app.config.ts rename to client/public/angular/src/app/app.config.ts diff --git a/client/public/angular/src/app/app.html b/client/public/angular/src/app/app.html new file mode 100644 index 0000000..67e7bd4 --- /dev/null +++ b/client/public/angular/src/app/app.html @@ -0,0 +1 @@ + diff --git a/client/angular/src/app/app.routes.ts b/client/public/angular/src/app/app.routes.ts similarity index 100% rename from client/angular/src/app/app.routes.ts rename to client/public/angular/src/app/app.routes.ts diff --git a/client/public/angular/src/app/app.scss b/client/public/angular/src/app/app.scss new file mode 100644 index 0000000..e69de29 diff --git a/client/public/angular/src/app/app.spec.ts b/client/public/angular/src/app/app.spec.ts new file mode 100644 index 0000000..1e6b708 --- /dev/null +++ b/client/public/angular/src/app/app.spec.ts @@ -0,0 +1,23 @@ +import { TestBed } from '@angular/core/testing'; +import { App } from './app'; + +describe('App', () => { + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [App], + }).compileComponents(); + }); + + it('should create the app', () => { + const fixture = TestBed.createComponent(App); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + + it('should render title', () => { + const fixture = TestBed.createComponent(App); + fixture.detectChanges(); + const compiled = fixture.nativeElement as HTMLElement; + expect(compiled.querySelector('h1')?.textContent).toContain('Hello, angular'); + }); +}); diff --git a/client/angular/src/app/app.ts b/client/public/angular/src/app/app.ts similarity index 100% rename from client/angular/src/app/app.ts rename to client/public/angular/src/app/app.ts diff --git a/client/angular/src/components/checkout/checkout.html b/client/public/angular/src/components/checkout/checkout.html similarity index 100% rename from client/angular/src/components/checkout/checkout.html rename to client/public/angular/src/components/checkout/checkout.html diff --git a/client/angular/src/components/checkout/checkout.scss b/client/public/angular/src/components/checkout/checkout.scss similarity index 100% rename from client/angular/src/components/checkout/checkout.scss rename to client/public/angular/src/components/checkout/checkout.scss diff --git a/client/angular/src/components/checkout/checkout.spec.ts b/client/public/angular/src/components/checkout/checkout.spec.ts similarity index 100% rename from client/angular/src/components/checkout/checkout.spec.ts rename to client/public/angular/src/components/checkout/checkout.spec.ts diff --git a/client/angular/src/components/checkout/checkout.ts b/client/public/angular/src/components/checkout/checkout.ts similarity index 100% rename from client/angular/src/components/checkout/checkout.ts rename to client/public/angular/src/components/checkout/checkout.ts diff --git a/client/angular/src/index.html b/client/public/angular/src/index.html similarity index 100% rename from client/angular/src/index.html rename to client/public/angular/src/index.html diff --git a/client/public/angular/src/main.ts b/client/public/angular/src/main.ts new file mode 100644 index 0000000..5df75f9 --- /dev/null +++ b/client/public/angular/src/main.ts @@ -0,0 +1,6 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { appConfig } from './app/app.config'; +import { App } from './app/app'; + +bootstrapApplication(App, appConfig) + .catch((err) => console.error(err)); diff --git a/client/angular/src/shared/models/processing-configuration.ts b/client/public/angular/src/shared/models/processing-configuration.ts similarity index 100% rename from client/angular/src/shared/models/processing-configuration.ts rename to client/public/angular/src/shared/models/processing-configuration.ts diff --git a/client/public/angular/src/styles.scss b/client/public/angular/src/styles.scss new file mode 100644 index 0000000..90d4ee0 --- /dev/null +++ b/client/public/angular/src/styles.scss @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/client/public/angular/tsconfig.app.json b/client/public/angular/tsconfig.app.json new file mode 100644 index 0000000..264f459 --- /dev/null +++ b/client/public/angular/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" + ] +} diff --git a/client/public/angular/tsconfig.json b/client/public/angular/tsconfig.json new file mode 100644 index 0000000..e4955f2 --- /dev/null +++ b/client/public/angular/tsconfig.json @@ -0,0 +1,34 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "compileOnSave": false, + "compilerOptions": { + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "ES2022", + "module": "preserve" + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "typeCheckHostBindings": true, + "strictTemplates": true + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/client/public/angular/tsconfig.spec.json b/client/public/angular/tsconfig.spec.json new file mode 100644 index 0000000..04df34c --- /dev/null +++ b/client/public/angular/tsconfig.spec.json @@ -0,0 +1,14 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "include": [ + "src/**/*.ts" + ] +} diff --git a/client/html/css/styles.css b/client/public/html/css/styles.css similarity index 100% rename from client/html/css/styles.css rename to client/public/html/css/styles.css diff --git a/client/html/index.html b/client/public/html/index.html similarity index 100% rename from client/html/index.html rename to client/public/html/index.html diff --git a/client/html/index.js b/client/public/html/index.js similarity index 100% rename from client/html/index.js rename to client/public/html/index.js From 62a8547c3f590e2478e919aa9ead9d3725435317 Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Fri, 6 Feb 2026 16:48:28 -0500 Subject: [PATCH 6/8] Bootstrapp basic web api --- server/dotnet/.vscode/launch.json | 10 ++++++++ ...lackbaud.PaymentsAPI.Sample.Backend.csproj | 9 ++++++++ .../Controllers/AuthenticationController.cs | 18 +++++++++++++++ server/dotnet/Program.cs | 9 ++++++++ server/dotnet/Properties/launchSettings.json | 23 +++++++++++++++++++ server/dotnet/appsettings.json | 9 ++++++++ 6 files changed, 78 insertions(+) create mode 100644 server/dotnet/.vscode/launch.json create mode 100644 server/dotnet/Blackbaud.PaymentsAPI.Sample.Backend.csproj create mode 100644 server/dotnet/Controllers/AuthenticationController.cs create mode 100644 server/dotnet/Program.cs create mode 100644 server/dotnet/Properties/launchSettings.json create mode 100644 server/dotnet/appsettings.json diff --git a/server/dotnet/.vscode/launch.json b/server/dotnet/.vscode/launch.json new file mode 100644 index 0000000..e80a854 --- /dev/null +++ b/server/dotnet/.vscode/launch.json @@ -0,0 +1,10 @@ +{ + "configurations": [ + { + "name": "C#: Debug Active File", + "type": "dotnet", + "request": "launch", + "projectPath": "${file}" + } + ] +} \ No newline at end of file diff --git a/server/dotnet/Blackbaud.PaymentsAPI.Sample.Backend.csproj b/server/dotnet/Blackbaud.PaymentsAPI.Sample.Backend.csproj new file mode 100644 index 0000000..6568b3d --- /dev/null +++ b/server/dotnet/Blackbaud.PaymentsAPI.Sample.Backend.csproj @@ -0,0 +1,9 @@ + + + + net9.0 + enable + enable + + + diff --git a/server/dotnet/Controllers/AuthenticationController.cs b/server/dotnet/Controllers/AuthenticationController.cs new file mode 100644 index 0000000..5efd434 --- /dev/null +++ b/server/dotnet/Controllers/AuthenticationController.cs @@ -0,0 +1,18 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Controllers; + +[Route("auth")] +[ApiController] +public class AuthenticationController : ControllerBase +{ + /// + /// Eecho + /// + [HttpGet("echo")] + public ActionResult Echo() + { + return new OkObjectResult("Echo"); + } +} diff --git a/server/dotnet/Program.cs b/server/dotnet/Program.cs new file mode 100644 index 0000000..dc7c950 --- /dev/null +++ b/server/dotnet/Program.cs @@ -0,0 +1,9 @@ +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddControllers(); + +var app = builder.Build(); + +app.MapControllers(); + +app.Run(); diff --git a/server/dotnet/Properties/launchSettings.json b/server/dotnet/Properties/launchSettings.json new file mode 100644 index 0000000..c21af60 --- /dev/null +++ b/server/dotnet/Properties/launchSettings.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:5012", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:7170;http://localhost:5012", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/server/dotnet/appsettings.json b/server/dotnet/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/server/dotnet/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} From fde6e0bf287eb2b21e05af49f9a21d8c66fb26f8 Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Fri, 13 Feb 2026 16:18:01 -0500 Subject: [PATCH 7/8] Port bulk of backend code to .net api --- server/dotnet/.vscode/launch.json | 4 +- ...lackbaud.PaymentsAPI.Sample.Backend.csproj | 8 +- .../BusinessLogic/AuthenticationService.cs | 239 +++++++++++++ server/dotnet/BusinessLogic/GiftsService.cs | 163 +++++++++ .../Interfaces/IAuthenticationService.cs | 18 + .../Interfaces/ISessionService.cs | 16 + .../dotnet/BusinessLogic/PaymentsService.cs | 317 ++++++++++++++++++ server/dotnet/BusinessLogic/Pkce.cs | 111 ++++++ server/dotnet/BusinessLogic/SessionService.cs | 162 +++++++++ .../Controllers/AuthenticationController.cs | 61 ++++ .../dotnet/DataAccess/LocalFileDataAdapter.cs | 50 +++ .../DataAccess/Models/AuthenticationData.cs | 9 + .../Models/CheckoutTransactionData.cs | 11 + .../DataAccess/Models/SavedPaymentData.cs | 7 + server/dotnet/Models/AppSettings.cs | 15 + server/dotnet/Models/ConstituentModel.cs | 24 ++ .../dotnet/Models/Gifts/CreateGiftRequest.cs | 60 ++++ server/dotnet/Models/Gifts/GiftRead.cs | 33 ++ server/dotnet/Models/Gifts/PostResponse.cs | 9 + .../Payments/API/CaptureTransactionRequest.cs | 9 + .../API/CheckoutTransactionRequest.cs | 15 + .../Payments/API/CreateTransactionRequest.cs | 24 ++ .../API/PaymentConfigurationListRead.cs | 12 + .../Payments/API/PaymentConfigurationRead.cs | 12 + .../Models/Payments/API/PublicKeyRead.cs | 9 + .../Models/Payments/API/SecurityTokenRead.cs | 12 + .../Models/Payments/API/TransactionRead.cs | 15 + .../Models/Payments/CheckoutConfiguration.cs | 15 + .../Payments/TransactionCaptureRequest.cs | 13 + .../Models/RefreshTokenResponseModel.cs | 96 ++++++ server/dotnet/Program.cs | 57 +++- server/dotnet/dotnet.sln | 24 ++ 32 files changed, 1626 insertions(+), 4 deletions(-) create mode 100644 server/dotnet/BusinessLogic/AuthenticationService.cs create mode 100644 server/dotnet/BusinessLogic/GiftsService.cs create mode 100644 server/dotnet/BusinessLogic/Interfaces/IAuthenticationService.cs create mode 100644 server/dotnet/BusinessLogic/Interfaces/ISessionService.cs create mode 100644 server/dotnet/BusinessLogic/PaymentsService.cs create mode 100644 server/dotnet/BusinessLogic/Pkce.cs create mode 100644 server/dotnet/BusinessLogic/SessionService.cs create mode 100644 server/dotnet/DataAccess/LocalFileDataAdapter.cs create mode 100644 server/dotnet/DataAccess/Models/AuthenticationData.cs create mode 100644 server/dotnet/DataAccess/Models/CheckoutTransactionData.cs create mode 100644 server/dotnet/DataAccess/Models/SavedPaymentData.cs create mode 100644 server/dotnet/Models/AppSettings.cs create mode 100644 server/dotnet/Models/ConstituentModel.cs create mode 100644 server/dotnet/Models/Gifts/CreateGiftRequest.cs create mode 100644 server/dotnet/Models/Gifts/GiftRead.cs create mode 100644 server/dotnet/Models/Gifts/PostResponse.cs create mode 100644 server/dotnet/Models/Payments/API/CaptureTransactionRequest.cs create mode 100644 server/dotnet/Models/Payments/API/CheckoutTransactionRequest.cs create mode 100644 server/dotnet/Models/Payments/API/CreateTransactionRequest.cs create mode 100644 server/dotnet/Models/Payments/API/PaymentConfigurationListRead.cs create mode 100644 server/dotnet/Models/Payments/API/PaymentConfigurationRead.cs create mode 100644 server/dotnet/Models/Payments/API/PublicKeyRead.cs create mode 100644 server/dotnet/Models/Payments/API/SecurityTokenRead.cs create mode 100644 server/dotnet/Models/Payments/API/TransactionRead.cs create mode 100644 server/dotnet/Models/Payments/CheckoutConfiguration.cs create mode 100644 server/dotnet/Models/Payments/TransactionCaptureRequest.cs create mode 100644 server/dotnet/Models/RefreshTokenResponseModel.cs create mode 100644 server/dotnet/dotnet.sln diff --git a/server/dotnet/.vscode/launch.json b/server/dotnet/.vscode/launch.json index e80a854..504df6c 100644 --- a/server/dotnet/.vscode/launch.json +++ b/server/dotnet/.vscode/launch.json @@ -1,10 +1,10 @@ { "configurations": [ { - "name": "C#: Debug Active File", + "name": "C#: App Debug", "type": "dotnet", "request": "launch", - "projectPath": "${file}" + "projectPath": "${workspaceFolder}/Blackbaud.PaymentsAPI.Sample.Backend.csproj" } ] } \ No newline at end of file diff --git a/server/dotnet/Blackbaud.PaymentsAPI.Sample.Backend.csproj b/server/dotnet/Blackbaud.PaymentsAPI.Sample.Backend.csproj index 6568b3d..41543aa 100644 --- a/server/dotnet/Blackbaud.PaymentsAPI.Sample.Backend.csproj +++ b/server/dotnet/Blackbaud.PaymentsAPI.Sample.Backend.csproj @@ -1,9 +1,15 @@ - net9.0 + net10.0 enable enable + + + + + + diff --git a/server/dotnet/BusinessLogic/AuthenticationService.cs b/server/dotnet/BusinessLogic/AuthenticationService.cs new file mode 100644 index 0000000..e3eab33 --- /dev/null +++ b/server/dotnet/BusinessLogic/AuthenticationService.cs @@ -0,0 +1,239 @@ +using Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic.Interfaces; +using Blackbaud.PaymentsAPI.Sample.Backend.DataAccess; +using Blackbaud.PaymentsAPI.Sample.Backend.DataAccess.Models; +using Blackbaud.PaymentsAPI.Sample.Backend.Models; +using Microsoft.Extensions.Options; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic; + +/// +/// Contains business logic and helper methods that interact with the authentication provider. +/// +public class AuthenticationService : IAuthenticationService +{ + private readonly IOptions _appSettings; + private readonly ISessionService _sessionService; + private readonly LocalFileDataAdapter _localFileDataAdapter; + private readonly IHttpClientFactory _httpClientFactory; + + public AuthenticationService( + IOptions appSettings, + ISessionService sessionService, + LocalFileDataAdapter localFileDataAdapter, + IHttpClientFactory httpClientFactory + ) + { + _appSettings = appSettings; + _sessionService = sessionService; + _localFileDataAdapter = localFileDataAdapter; + _httpClientFactory = httpClientFactory; + } + + /// + /// Fetches access/refresh tokens from the provider. + /// Key-value attributes to be sent with the request. + /// The response from the provider. + /// + private async Task FetchTokens( + Dictionary requestBody, + CancellationToken cancellationToken + ) + { + var client = _httpClientFactory.CreateClient("AuthenticationService"); + + // Fetch tokens from auth server. + var response = await client.PostAsync("token", new FormUrlEncodedContent(requestBody)); + + response.EnsureSuccessStatusCode(); + + // Parse the response + var model = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); + + // Save the access/refresh tokens in the Session. + _sessionService.SetTokens(model); + var refreshExpires = DateTimeOffset.UtcNow.AddSeconds( + model.RefreshTokenExpiresIn.GetValueOrDefault() + ); + await _localFileDataAdapter.WriteDataAsync( + new AuthenticationData + { + RefreshToken = model.RefreshToken, + RefreshExpires = refreshExpires, + } + ); + + return model; + } + + /// + /// Fetches a new set of access/refresh tokens (from an authorization code). + /// The authorization code contained within the provider's authorization response. + /// + public async Task ExchangeCodeForAccessToken( + string code, + string state, + CancellationToken cancellationToken + ) + { + ArgumentNullException.ThrowIfNull(code, nameof(code)); + ArgumentNullException.ThrowIfNull(state, nameof(state)); + + // get the state verifier from session + var verifier = _sessionService.GetStateVerifier(state); + + // no verifier was found for the state + if (string.IsNullOrWhiteSpace(verifier)) + { + throw new Exception("Error verifying authorization code state"); + } + + // get an access token using the authoriztion code + // the redirect URI must be set up for this client id + // pass the code verifier + var response = await FetchTokens( + new Dictionary() + { + { "code", code }, + { "grant_type", "authorization_code" }, + { "redirect_uri", _appSettings.Value.AuthRedirectUri }, + { "code_verifier", verifier }, + }, + cancellationToken + ); + + // clear the state verifier from the session + _sessionService.ClearStateVerifier(state); + + // return the response + return response; + } + + /// + /// Refreshes the expired access token. + /// + public async Task RefreshAccessToken( + CancellationToken cancellationToken + ) + { + var refreshToken = await GetRefreshToken(); + return await FetchTokens( + new Dictionary() + { + { "grant_type", "refresh_token" }, + { "refresh_token", refreshToken }, + { "preserve_refresh_token", "true" }, + }, + cancellationToken + ); + } + + /// + /// Builds and returns a string representative of the provider's authorization URI. + /// + public Uri GetAuthorizationUri() + { + // create a state parameter to identify this request + var state = Guid.NewGuid().ToString("n"); + + // create PKCE values for the authorization + var pkce = new Pkce(); + + // The auth client must have PKCE enabled + var url = + $"authorization?response_type=code&code_challenge_method=S256&client_id={_appSettings.Value.AuthClientId}&redirect_uri={_appSettings.Value.AuthRedirectUri}&code_challenge={pkce.CodeChallenge}&state={state}"; + + // store the verifier using the state as the key + _sessionService.SetStateVerifier(state, pkce.CodeVerifier); + + return new Uri(new Uri(_appSettings.Value.AuthBaseUri), url); + } + + /// + /// Determines if the user is authenticated + /// + /// + public async Task IsAuthenticated() + { + var validRefresh = await HasValidRefreshToken(); + return IsAccessTokenValid() || validRefresh; + } + + /// + /// Determines if the session contains a valid access token. + /// + public bool IsAccessTokenValid() + { + // get the access token and expires stored in session + var accessToken = _sessionService.GetAccessToken(); + var expires = _sessionService.GetAccessExpires(); + + // if the access token is empty or a minute from expired then it is not valid + if ( + string.IsNullOrEmpty(accessToken) + || !expires.HasValue + || (expires.Value.UtcDateTime - DateTimeOffset.UtcNow) <= TimeSpan.FromMinutes(1) + ) + { + return false; + } + + // other cases are valid + return true; + } + + /// + /// Determine if there is a valid refresh token stored in session or in data + /// + /// + public async Task HasValidRefreshToken() + { + // get the refresh token from session + var refreshToken = await GetRefreshToken(); + var expires = await GetRefreshExpires(); + + // if the refresh token is empty return false + if ( + string.IsNullOrEmpty(refreshToken) + || !expires.HasValue + || (expires.Value.UtcDateTime - DateTimeOffset.UtcNow) <= TimeSpan.FromMinutes(1) + ) + { + return false; + } + + // other cases return true + return true; + } + + private async Task GetRefreshToken() + { + var authenticationData = await _localFileDataAdapter.ReadDataAsync(); + if (authenticationData != null) + { + return authenticationData.RefreshToken; + } + + return null; + } + + private async Task GetRefreshExpires() + { + var authenticationData = await _localFileDataAdapter.ReadDataAsync(); + if (authenticationData != null) + { + return authenticationData.RefreshExpires; + } + + return null; + } + + /// + /// Destroys the access/refresh tokens stored in the session. + /// + public void LogOut() + { + _sessionService.ClearTokens(); + } +} diff --git a/server/dotnet/BusinessLogic/GiftsService.cs b/server/dotnet/BusinessLogic/GiftsService.cs new file mode 100644 index 0000000..1bd32ca --- /dev/null +++ b/server/dotnet/BusinessLogic/GiftsService.cs @@ -0,0 +1,163 @@ +using System.Net.Http.Headers; +using System.Text; +using System.Text.Json; +using Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic.Interfaces; +using Blackbaud.PaymentsAPI.Sample.Backend.Models.Gifts; +using Blackbaud.PaymentsAPI.Sample.Backend.Models.Payments; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic; + +/// +/// Interacts directly with SKY API Payments endpoints. +/// +public class GiftsService +{ + private readonly ISessionService _sessionService; + private readonly IAuthenticationService _authService; + private readonly IHttpClientFactory _httpClientFactory = null!; + + /// + /// Constructor + /// + public GiftsService( + ISessionService sessionService, + IAuthenticationService authService, + IHttpClientFactory httpClientFactory + ) + { + _sessionService = sessionService; + _authService = authService; + _httpClientFactory = httpClientFactory; + } + + /// + /// Create a gift in RE NXT + /// + public async Task CreateGift( + TransactionRead transaction, + string paymentConfigId, + string cardToken, + bool anonymous, + CancellationToken cancellationToken, + string checkoutTransactionId = null + ) + { + var httpClient = await GetClient(cancellationToken, anonymous); + + // Convert the amount from cents to dollars + var amount = (decimal)transaction.Amount / 100; + + // Build payment add + var paymentAdd = new PaymentAdd + { + // One of either AccountToken or CheckoutTransactionId are required + // for payment method details to display on the gift record + AccountToken = cardToken, + CheckoutTransactionId = checkoutTransactionId, + BbpsTransactionId = transaction.Id, + BbpsConfigurationId = paymentConfigId, + PaymentMethod = "CreditCard", + }; + + var createGiftRequest = new CreateGiftRequest + { + Amount = new Currency { Value = amount }, + ConstituentId = "280", + GiftSplits = new GiftSplitAdd[] + { + new GiftSplitAdd + { + Amount = new Currency { Value = amount }, + FundId = "18", + }, + }, + Type = "Donation", + IsManual = true, + Payments = new PaymentAdd[] { paymentAdd }, + }; + + var requestBody = new StringContent( + JsonSerializer.Serialize(createGiftRequest), + Encoding.UTF8, + "application/json" + ); + + var response = await httpClient.PostAsync($"gifts", requestBody, cancellationToken); + + if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) + { + throw new UnauthorizedAccessException(); + } + + response.EnsureSuccessStatusCode(); + + var postResponse = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); + + var giftRead = await GetGift(postResponse.Id, cancellationToken); + + return giftRead; + } + + /// + /// Get a gift in RE NXT + /// + public async Task GetGift(string giftId, CancellationToken cancellationToken) + { + var httpClient = await GetClient(cancellationToken, true); + + var response = await httpClient.GetAsync($"gifts/{giftId}", cancellationToken); + + if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) + { + throw new UnauthorizedAccessException(); + } + + response.EnsureSuccessStatusCode(); + + var giftRead = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); + + return giftRead; + } + + private async Task GetClient( + CancellationToken cancellationToken, + bool anonymous = false + ) + { + var httpClient = _httpClientFactory.CreateClient("GiftsService"); + + string token; + + // check for and invalid access token + if (anonymous) + { + var refresh = await _authService.RefreshAccessToken(cancellationToken); + token = refresh.AccessToken; + } + else + { + var validRefresh = await _authService.HasValidRefreshToken(); + if (!_authService.IsAccessTokenValid() && validRefresh) + { + await _authService.RefreshAccessToken(cancellationToken); + } + token = _sessionService.GetAccessToken(); + } + + if (string.IsNullOrEmpty(token)) + { + throw new UnauthorizedAccessException(); + } + + httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue( + "Bearer", + token + ); + + return httpClient; + } +} diff --git a/server/dotnet/BusinessLogic/Interfaces/IAuthenticationService.cs b/server/dotnet/BusinessLogic/Interfaces/IAuthenticationService.cs new file mode 100644 index 0000000..c3b658a --- /dev/null +++ b/server/dotnet/BusinessLogic/Interfaces/IAuthenticationService.cs @@ -0,0 +1,18 @@ +using Blackbaud.PaymentsAPI.Sample.Backend.Models; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic.Interfaces; + +public interface IAuthenticationService +{ + Task ExchangeCodeForAccessToken( + string code, + string state, + CancellationToken cancellationToken + ); + Uri GetAuthorizationUri(); + Task IsAuthenticated(); + bool IsAccessTokenValid(); + Task HasValidRefreshToken(); + void LogOut(); + Task RefreshAccessToken(CancellationToken cancellationToken); +} diff --git a/server/dotnet/BusinessLogic/Interfaces/ISessionService.cs b/server/dotnet/BusinessLogic/Interfaces/ISessionService.cs new file mode 100644 index 0000000..f89f980 --- /dev/null +++ b/server/dotnet/BusinessLogic/Interfaces/ISessionService.cs @@ -0,0 +1,16 @@ +using Blackbaud.PaymentsAPI.Sample.Backend.Models; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic.Interfaces; + +public interface ISessionService +{ + void SetTokens(RefreshTokenResponseModel response); + void ClearTokens(); + string GetAccessToken(); + string GetRefreshToken(); + DateTimeOffset? GetRefreshExpires(); + DateTimeOffset? GetAccessExpires(); + string GetStateVerifier(string state); + void SetStateVerifier(string state, string verifier); + void ClearStateVerifier(string state); +} diff --git a/server/dotnet/BusinessLogic/PaymentsService.cs b/server/dotnet/BusinessLogic/PaymentsService.cs new file mode 100644 index 0000000..d22e932 --- /dev/null +++ b/server/dotnet/BusinessLogic/PaymentsService.cs @@ -0,0 +1,317 @@ +using System.Net.Http.Headers; +using System.Text; +using System.Text.Json; +using Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic.Interfaces; +using Blackbaud.PaymentsAPI.Sample.Backend.DataAccess; +using Blackbaud.PaymentsAPI.Sample.Backend.DataAccess.Models; +using Blackbaud.PaymentsAPI.Sample.Backend.Models.Payments; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic; + +/// +/// Interacts directly with SKY API Payments endpoints. +/// +public class PaymentsService +{ + private readonly ISessionService _sessionService; + private readonly IAuthenticationService _authService; + private readonly IHttpClientFactory _httpClientFactory = null!; + private readonly LocalFileDataAdapter _localFileDataAdapter; + + private string? environmentId; + + /// + /// Constructor + /// + public PaymentsService( + ISessionService sessionService, + IAuthenticationService authService, + IHttpClientFactory httpClientFactory, + LocalFileDataAdapter localFileDataAdapter + ) + { + _sessionService = sessionService; + _authService = authService; + _httpClientFactory = httpClientFactory; + _localFileDataAdapter = localFileDataAdapter; + } + + /// + /// Returns a response containing a list of payment configurations. + /// + public async Task ListPaymentConfigurations( + CancellationToken cancellationToken + ) + { + var httpClient = await GetClient(cancellationToken); + var response = await httpClient.GetAsync($"paymentconfigurations", cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null!; + } + + if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) + { + throw new UnauthorizedAccessException(); + } + + response.EnsureSuccessStatusCode(); + + var model = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); + + return model; + } + + /// + public async Task GetCheckoutConfiguration( + CancellationToken cancellationToken + ) + { + var publicKey = await GetPublicKey(cancellationToken); + var savedPaymentData = await GetSavedPaymentData(); + var config = new CheckoutConfiguration + { + Key = publicKey, + PaymentConfigurationId = savedPaymentData.PaymentConfigurationId, + EnvironmentId = environmentId, + }; + + return config; + } + + public async Task CaptureTransaction( + string transactionId, + TransactionCaptureRequest request, + CancellationToken cancellationToken + ) + { + var httpClient = await GetClient(cancellationToken, true); + + if (!string.IsNullOrEmpty(request.CardToken)) + { + var savedPaymentData = await GetSavedPaymentData(); + savedPaymentData.CardToken = request.CardToken; + + await _localFileDataAdapter.WriteDataAsync(savedPaymentData); + } + + var checkoutTransactionRequest = new CaptureTransactionRequest { Amount = request.Amount }; + + var requestBody = new StringContent( + JsonSerializer.Serialize(checkoutTransactionRequest), + Encoding.UTF8, + "application/json" + ); + + var response = await httpClient.PostAsync( + $"transactions/{transactionId}/capture", + requestBody, + cancellationToken + ); + + if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) + { + throw new UnauthorizedAccessException(); + } + + response.EnsureSuccessStatusCode(); + + var transactionRead = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); + + return transactionRead; + } + + public async Task CaptureCheckoutTransaction( + TransactionCaptureRequest request, + CancellationToken cancellationToken + ) + { + var httpClient = await GetClient(cancellationToken, true); + + if (!string.IsNullOrEmpty(request.CardToken)) + { + var savedPaymentData = await GetSavedPaymentData(); + savedPaymentData.CardToken = request.CardToken; + + await _localFileDataAdapter.WriteDataAsync(savedPaymentData); + } + + var checkoutTransactionRequest = new CheckoutTransactionRequest + { + TransactionToken = request.TransactionToken, + Amount = request.Amount, + }; + + var requestBody = new StringContent( + JsonSerializer.Serialize(checkoutTransactionRequest), + Encoding.UTF8, + "application/json" + ); + + var response = await httpClient.PostAsync( + $"checkout/transaction", + requestBody, + cancellationToken + ); + + if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) + { + throw new UnauthorizedAccessException(); + } + + response.EnsureSuccessStatusCode(); + + var transactionRead = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); + + return transactionRead; + } + + public async Task CreateBackofficeTransaction( + CancellationToken cancellationToken + ) + { + var httpClient = await GetClient(cancellationToken, true); + + var savedPaymentData = await GetSavedPaymentData(); + var cardToken = savedPaymentData.CardToken; + var paymentConfigurationId = savedPaymentData.PaymentConfigurationId; + + var createTransactionRequest = new CreateTransactionRequest + { + Amount = 1212, + CardToken = cardToken, + PaymentConfigurationId = paymentConfigurationId, + TransactionType = "CardNotPresent", + }; + + var requestBody = new StringContent( + JsonSerializer.Serialize(createTransactionRequest), + Encoding.UTF8, + "application/json" + ); + + var response = await httpClient.PostAsync($"transactions", requestBody, cancellationToken); + + if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) + { + throw new UnauthorizedAccessException(); + } + + response.EnsureSuccessStatusCode(); + + var transactionRead = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); + + return transactionRead; + } + + public async Task GetPublicKey(CancellationToken cancellationToken) + { + var httpClient = await GetClient(cancellationToken, true); + var response = await httpClient.GetAsync($"checkout/publickey", cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null!; + } + + if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) + { + throw new UnauthorizedAccessException(); + } + + response.EnsureSuccessStatusCode(); + + var model = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); + + return model.PublicKey; + } + + public async Task GetSecurityToken(CancellationToken cancellationToken) + { + var savedPaymentData = await GetSavedPaymentData(); + var httpClient = await GetClient(cancellationToken, false); + var response = await httpClient.GetAsync( + $"checkout/securitytoken/{savedPaymentData.PaymentConfigurationId}", + cancellationToken + ); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null!; + } + + if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) + { + throw new UnauthorizedAccessException(); + } + + response.EnsureSuccessStatusCode(); + + var model = await response.Content.ReadFromJsonAsync( + cancellationToken: cancellationToken + ); + + return model.SecurityToken; + } + + public async Task GetSavedPaymentData() + { + var savedPaymentData = await _localFileDataAdapter.ReadDataAsync(); + return savedPaymentData; + } + + public async Task SelectPaymentConfigurationId(string paymentConfigurationId) + { + var savedPaymentData = await _localFileDataAdapter.ReadDataAsync(); + savedPaymentData.PaymentConfigurationId = paymentConfigurationId; + await _localFileDataAdapter.WriteDataAsync(savedPaymentData); + } + + private async Task GetClient( + CancellationToken cancellationToken, + bool anonymous = false + ) + { + var httpClient = _httpClientFactory.CreateClient("PaymentsService"); + + string token; + + // check for and invalid access token + if (anonymous) + { + var refresh = await _authService.RefreshAccessToken(cancellationToken); + token = refresh.AccessToken; + environmentId = refresh.EnvironmentId; + } + else + { + var validRefresh = await _authService.HasValidRefreshToken(); + if (!_authService.IsAccessTokenValid() && validRefresh) + { + var refreshToken = await _authService.RefreshAccessToken(cancellationToken); + environmentId = refreshToken.EnvironmentId; + } + token = _sessionService.GetAccessToken(); + } + + if (string.IsNullOrEmpty(token)) + { + throw new UnauthorizedAccessException(); + } + + httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue( + "Bearer", + token + ); + + return httpClient; + } +} diff --git a/server/dotnet/BusinessLogic/Pkce.cs b/server/dotnet/BusinessLogic/Pkce.cs new file mode 100644 index 0000000..a8e1c54 --- /dev/null +++ b/server/dotnet/BusinessLogic/Pkce.cs @@ -0,0 +1,111 @@ +using System.Security.Cryptography; +using System.Text; +using Microsoft.IdentityModel.Tokens; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic; + +/// +/// Provides a randomly generating PKCE code verifier and it's corresponding code challenge. +/// +public class Pkce +{ + /// + /// The randomly generating PKCE code verifier. + /// + public string CodeVerifier; + + /// + /// Corresponding PKCE code challenge. + /// + public string CodeChallenge; + + /// + /// Initializes a new instance of the Pkce class. + /// + /// The size of the code verifier (43 - 128 charters). + public Pkce(uint size = 128) + { + CodeVerifier = GenerateCodeVerifier(size); + CodeChallenge = GenerateCodeChallenge(CodeVerifier); + } + + /// + /// Generates a code_verifier based on rfc-7636. + /// + /// The size of the code verifier (43 - 128 charters). + /// A code verifier. + /// + /// code_verifier = high-entropy cryptographic random STRING using the + /// unreserved characters[A - Z] / [a-z] / [0-9] / "-" / "." / "_" / "~" + /// from Section 2.3 of[RFC3986], with a minimum length of 43 characters + /// and a maximum length of 128 characters. + /// + /// ABNF for "code_verifier" is as follows. + /// + /// code-verifier = 43*128unreserved + /// unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" + /// ALPHA = %x41-5A / %x61-7A + /// DIGIT = % x30 - 39 + /// + /// Reference: rfc-7636 https://datatracker.ietf.org/doc/html/rfc7636#section-4.1 + /// + public static string GenerateCodeVerifier(uint size = 128) + { + if (size < 43 || size > 128) + size = 128; + + const string unreservedCharacters = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~"; + Random random = new Random(); + char[] highEntropyCryptograph = new char[size]; + + for (int i = 0; i < highEntropyCryptograph.Length; i++) + { + highEntropyCryptograph[i] = unreservedCharacters[ + random.Next(unreservedCharacters.Length) + ]; + } + + return new string(highEntropyCryptograph); + } + + /// + /// Generates a code_challenge based on rfc-7636. + /// + /// The code verifier. + /// A code challenge. + /// + /// plain + /// code_challenge = code_verifier + /// + /// S256 + /// code_challenge = BASE64URL-ENCODE(SHA256(ASCII(code_verifier))) + /// + /// If the client is capable of using "S256", it MUST use "S256", as + /// "S256" is Mandatory To Implement(MTI) on the server.Clients are + /// permitted to use "plain" only if they cannot support "S256" for some + /// technical reason and know via out-of-band configuration that the + /// server supports "plain". + /// + /// The plain transformation is for compatibility with existing + /// deployments and for constrained environments that can't use the S256 + /// transformation. + /// + /// ABNF for "code_challenge" is as follows. + /// + /// code-challenge = 43 * 128unreserved + /// unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" + /// ALPHA = % x41 - 5A / %x61-7A + /// DIGIT = % x30 - 39 + /// + /// Reference: rfc-7636 https://datatracker.ietf.org/doc/html/rfc7636#section-4.2 + /// + public static string GenerateCodeChallenge(string codeVerifier) + { + using (var sha256 = SHA256.Create()) + { + var challengeBytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(codeVerifier)); + return Base64UrlEncoder.Encode(challengeBytes); + } + } +} diff --git a/server/dotnet/BusinessLogic/SessionService.cs b/server/dotnet/BusinessLogic/SessionService.cs new file mode 100644 index 0000000..ad6471f --- /dev/null +++ b/server/dotnet/BusinessLogic/SessionService.cs @@ -0,0 +1,162 @@ +using Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic.Interfaces; +using Blackbaud.PaymentsAPI.Sample.Backend.Models; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic; + +/// +/// Sets, gets, and destroys session variables. +/// +public class SessionService : ISessionService +{ + private const string ACCESS_TOKEN_NAME = "token"; + private const string REFRESH_TOKEN_NAME = "refreshToken"; + private const string ACCESS_TOKEN_EXPIRES = "access_expires"; + private const string REFRESH_TOKEN_EXPIRES = "refresh_expires"; + private readonly IHttpContextAccessor _httpContextAccessor; + + public SessionService(IHttpContextAccessor httpContextAccessor) + { + _httpContextAccessor = httpContextAccessor; + } + + /// + /// Destroys access and refresh tokens from the session. + /// + public void ClearTokens() + { + try + { + _httpContextAccessor.HttpContext.Session.Remove(ACCESS_TOKEN_NAME); + _httpContextAccessor.HttpContext.Session.Remove(REFRESH_TOKEN_NAME); + _httpContextAccessor.HttpContext.Session.Remove(ACCESS_TOKEN_EXPIRES); + _httpContextAccessor.HttpContext.Session.Remove(REFRESH_TOKEN_EXPIRES); + } + catch (Exception error) + { + Console.WriteLine("LOGOUT ERROR: " + error.Message); + } + } + + /// + /// Return access token, if saved, or an empty string. + /// + public string GetAccessToken() + { + if (TryGetString(ACCESS_TOKEN_NAME, out var accessToken)) + { + return accessToken; + } + return null!; + } + + /// + /// Return refresh token, if saved, or an empty string. + /// + public string GetRefreshToken() + { + if (TryGetString(REFRESH_TOKEN_NAME, out var refreshToken)) + { + return refreshToken; + } + return null!; + } + + /// + /// Get the access token expiration date + /// + /// + public DateTimeOffset? GetAccessExpires() + { + if (TryGetString(ACCESS_TOKEN_EXPIRES, out var expires)) + { + if (DateTimeOffset.TryParse(expires, out var expirationDate)) + { + return expirationDate; + } + } + return null; + } + + /// + /// Get the refresh token expiration date + /// + /// + public DateTimeOffset? GetRefreshExpires() + { + if (TryGetString(REFRESH_TOKEN_EXPIRES, out var expires)) + { + if (DateTimeOffset.TryParse(expires, out var expirationDate)) + { + return expirationDate; + } + } + return null; + } + + /// + /// Get the code verifier based on the state + /// + /// The state value of the authorization request + /// + public string GetStateVerifier(string state) + { + if (TryGetString(state, out var verifier)) + { + return verifier; + } + return null!; + } + + /// + /// Store the code verifier in session by the state value + /// + /// The state value + /// The code verifier + public void SetStateVerifier(string state, string verifier) + { + _httpContextAccessor.HttpContext.Session.SetString(state, verifier); + } + + /// + /// Clear the state verifier + /// + /// The state + public void ClearStateVerifier(string state) + { + _httpContextAccessor.HttpContext.Session.Remove(state); + } + + /// + /// Sets the access and refresh tokens based on an HTTP response. + /// + public void SetTokens(RefreshTokenResponseModel response) + { + _httpContextAccessor.HttpContext.Session.SetString(ACCESS_TOKEN_NAME, response.AccessToken); + _httpContextAccessor.HttpContext.Session.SetString( + ACCESS_TOKEN_EXPIRES, + $"{DateTimeOffset.UtcNow.AddSeconds(response.ExpiresIn)}" + ); + _httpContextAccessor.HttpContext.Session.SetString( + REFRESH_TOKEN_NAME, + response.RefreshToken + ); + _httpContextAccessor.HttpContext.Session.SetString( + REFRESH_TOKEN_EXPIRES, + $"{DateTimeOffset.UtcNow.AddSeconds(response.RefreshTokenExpiresIn.GetValueOrDefault())}" + ); + } + + /// + /// Return session value as a string (if it exists), or an empty string. + /// + private bool TryGetString(string name, out string value) + { + value = null!; + if (_httpContextAccessor.HttpContext.Session.TryGetValue(name, out var valueBytes)) + { + value = System.Text.Encoding.UTF8.GetString(valueBytes); + return true; + } + return false; + } +} diff --git a/server/dotnet/Controllers/AuthenticationController.cs b/server/dotnet/Controllers/AuthenticationController.cs index 5efd434..a917de3 100644 --- a/server/dotnet/Controllers/AuthenticationController.cs +++ b/server/dotnet/Controllers/AuthenticationController.cs @@ -1,3 +1,4 @@ +using Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic.Interfaces; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; @@ -15,4 +16,64 @@ public ActionResult Echo() { return new OkObjectResult("Echo"); } + + private readonly IAuthenticationService _authService; + + public AuthenticationController(IAuthenticationService authService) + { + _authService = authService; + } + + /// + /// Returns a JSON response determining session's authenticated status. + /// + [HttpGet("authenticated")] + public ActionResult Authenticated() + { + return new OkObjectResult(new { authenticated = _authService.IsAuthenticated() }); + } + + /// + /// Fetches access token (using auth code from request body) and redirects to Home Page. + /// + [HttpGet("callback")] + public async Task Callback( + [FromQuery] string code, + [FromQuery] string state, + CancellationToken cancellationToken + ) + { + await _authService.ExchangeCodeForAccessToken(code, state, cancellationToken); + return Redirect("/"); + } + + /// + /// Redirects user to authorization endpoint. + /// + [HttpGet("login")] + public ActionResult LogIn() + { + Uri address = _authService.GetAuthorizationUri(); + return Redirect(address.ToString()); + } + + /// + /// Destroys the authenticated session and redirects to Home Page. + /// + [HttpGet("logout")] + public ActionResult LogOut() + { + _authService.LogOut(); + return Redirect("/"); + } + + /// + /// Deliberately makes a call to the auth provider to refresh access token. + /// + [HttpGet("refresh-token")] + public async Task RefreshToken(CancellationToken cancellationToken) + { + var model = await _authService.RefreshAccessToken(cancellationToken); + return Ok(model); + } } diff --git a/server/dotnet/DataAccess/LocalFileDataAdapter.cs b/server/dotnet/DataAccess/LocalFileDataAdapter.cs new file mode 100644 index 0000000..9c97e86 --- /dev/null +++ b/server/dotnet/DataAccess/LocalFileDataAdapter.cs @@ -0,0 +1,50 @@ +using System.Text.Json; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.DataAccess; + +public class LocalFileDataAdapter +{ + private readonly IHostEnvironment _env; + private const string DATA_STORE_DIRECTORY = "datastore"; + + public LocalFileDataAdapter(IHostEnvironment env) + { + _env = env; + EnsureDirectoryExists(); + } + + public async Task ReadDataAsync() + where T : new() + { + var filePath = GetFilePath(); + if (!File.Exists(filePath)) + { + return new T(); + } + + var json = await File.ReadAllTextAsync(filePath); + return JsonSerializer.Deserialize(json); + } + + public async Task WriteDataAsync(T data) + { + var options = new JsonSerializerOptions { WriteIndented = true }; + + var json = JsonSerializer.Serialize(data, options); + await File.WriteAllTextAsync(GetFilePath(), json); + } + + private string GetFilePath() + { + return Path.Combine(_env.ContentRootPath, DATA_STORE_DIRECTORY, typeof(T).Name + ".json"); + } + + private void EnsureDirectoryExists() + { + var directory = Path.Combine(_env.ContentRootPath, DATA_STORE_DIRECTORY); + if (!Directory.Exists(directory)) + { + Directory.CreateDirectory(directory); + } + } +} diff --git a/server/dotnet/DataAccess/Models/AuthenticationData.cs b/server/dotnet/DataAccess/Models/AuthenticationData.cs new file mode 100644 index 0000000..a8c9705 --- /dev/null +++ b/server/dotnet/DataAccess/Models/AuthenticationData.cs @@ -0,0 +1,9 @@ +namespace Blackbaud.PaymentsAPI.Sample.Backend.DataAccess.Models; + +public class AuthenticationData +{ + public string AccessToken { get; set; } + public string RefreshToken { get; set; } + public DateTimeOffset? AccessExpires { get; set; } + public DateTimeOffset? RefreshExpires { get; set; } +} diff --git a/server/dotnet/DataAccess/Models/CheckoutTransactionData.cs b/server/dotnet/DataAccess/Models/CheckoutTransactionData.cs new file mode 100644 index 0000000..06d34ee --- /dev/null +++ b/server/dotnet/DataAccess/Models/CheckoutTransactionData.cs @@ -0,0 +1,11 @@ +using Blackbaud.PaymentsAPI.Sample.Backend.Models.Gifts; +using Blackbaud.PaymentsAPI.Sample.Backend.Models.Payments; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.DataAccess.Models; + +public class CheckoutTransactionData +{ + public string TransactionToken { get; set; } + public TransactionRead Transaction { get; set; } + public GiftRead Gift { get; set; } +} diff --git a/server/dotnet/DataAccess/Models/SavedPaymentData.cs b/server/dotnet/DataAccess/Models/SavedPaymentData.cs new file mode 100644 index 0000000..591538a --- /dev/null +++ b/server/dotnet/DataAccess/Models/SavedPaymentData.cs @@ -0,0 +1,7 @@ +namespace Blackbaud.PaymentsAPI.Sample.Backend.DataAccess.Models; + +public class SavedPaymentData +{ + public string CardToken { get; set; } + public string PaymentConfigurationId { get; set; } +} diff --git a/server/dotnet/Models/AppSettings.cs b/server/dotnet/Models/AppSettings.cs new file mode 100644 index 0000000..afe9758 --- /dev/null +++ b/server/dotnet/Models/AppSettings.cs @@ -0,0 +1,15 @@ +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models; + +/// +/// Stores app-wide configuration properties, mapped to appsettings.json. +/// +public class AppSettings +{ + public string AuthBaseUri { get; set; } + public string AuthClientId { get; set; } + public string AuthClientSecret { get; set; } + public string AuthRedirectUri { get; set; } + public string GeneralSubscriptionKey { get; set; } + public string PaymentsSubscriptionKey { get; set; } + public string SkyApiBaseUri { get; set; } +} diff --git a/server/dotnet/Models/ConstituentModel.cs b/server/dotnet/Models/ConstituentModel.cs new file mode 100644 index 0000000..49a6c5f --- /dev/null +++ b/server/dotnet/Models/ConstituentModel.cs @@ -0,0 +1,24 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models; + +public class ConstituentModel +{ + [JsonPropertyName("id")] + public int Id { get; set; } + + [JsonPropertyName("type")] + public string ConstituentType { get; set; } + + [JsonPropertyName("lookup_id")] + public string LookupId { get; set; } + + [JsonPropertyName("first")] + public string First { get; set; } + + [JsonPropertyName("last")] + public string Last { get; set; } + + [JsonPropertyName("name")] + public string Name { get; set; } +} diff --git a/server/dotnet/Models/Gifts/CreateGiftRequest.cs b/server/dotnet/Models/Gifts/CreateGiftRequest.cs new file mode 100644 index 0000000..749bc2c --- /dev/null +++ b/server/dotnet/Models/Gifts/CreateGiftRequest.cs @@ -0,0 +1,60 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models.Gifts; + +public class CreateGiftRequest +{ + [JsonPropertyName("amount")] + public Currency Amount { get; set; } + + [JsonPropertyName("constituent_id")] + public string ConstituentId { get; set; } + + [JsonPropertyName("gift_splits")] + public GiftSplitAdd[] GiftSplits { get; set; } + + [JsonPropertyName("type")] + public string Type { get; set; } + + [JsonPropertyName("payments")] + public PaymentAdd[] Payments { get; set; } + + [JsonPropertyName("is_manual")] + public bool IsManual { get; set; } +} + +public class PaymentAdd +{ + [JsonPropertyName("account_token")] + public string AccountToken { get; set; } + + [JsonPropertyName("bbps_configuration_id")] + public string BbpsConfigurationId { get; set; } + + [JsonPropertyName("bbps_transaction_id")] + public string BbpsTransactionId { get; set; } + + [JsonPropertyName("checkout_transaction_id")] + public string CheckoutTransactionId { get; set; } + + [JsonPropertyName("charge_transaction")] + public bool ChargeTransaction { get; set; } + + [JsonPropertyName("payment_method")] + public string PaymentMethod { get; set; } +} + +public class GiftSplitAdd +{ + [JsonPropertyName("amount")] + public Currency Amount { get; set; } + + [JsonPropertyName("fund_id")] + public string FundId { get; set; } +} + +public class Currency +{ + [JsonPropertyName("value")] + public decimal Value { get; set; } +} diff --git a/server/dotnet/Models/Gifts/GiftRead.cs b/server/dotnet/Models/Gifts/GiftRead.cs new file mode 100644 index 0000000..539ec79 --- /dev/null +++ b/server/dotnet/Models/Gifts/GiftRead.cs @@ -0,0 +1,33 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models.Gifts; + +public class GiftRead +{ + [JsonPropertyName("id")] + public string Id { get; set; } + + [JsonPropertyName("amount")] + public Currency Amount { get; set; } = null!; + + [JsonPropertyName("payments")] + public PaymentRead[] Payments { get; set; } +} + +public class PaymentRead +{ + [JsonPropertyName("account_token")] + public string AccountToken { get; set; } + + [JsonPropertyName("bbps_configuration_id")] + public string BbpsConfigurationId { get; set; } + + [JsonPropertyName("bbps_transaction_id")] + public string BbpsTransactionId { get; set; } + + [JsonPropertyName("checkout_transaction_id")] + public string CheckoutTransactionId { get; set; } + + [JsonPropertyName("payment_method")] + public string PaymentMethod { get; set; } +} diff --git a/server/dotnet/Models/Gifts/PostResponse.cs b/server/dotnet/Models/Gifts/PostResponse.cs new file mode 100644 index 0000000..00d947c --- /dev/null +++ b/server/dotnet/Models/Gifts/PostResponse.cs @@ -0,0 +1,9 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models.Gifts; + +public class PostResponse +{ + [JsonPropertyName("id")] + public string Id { get; set; } +} diff --git a/server/dotnet/Models/Payments/API/CaptureTransactionRequest.cs b/server/dotnet/Models/Payments/API/CaptureTransactionRequest.cs new file mode 100644 index 0000000..6e52108 --- /dev/null +++ b/server/dotnet/Models/Payments/API/CaptureTransactionRequest.cs @@ -0,0 +1,9 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models.Payments; + +public class CaptureTransactionRequest +{ + [JsonPropertyName("amount")] + public int Amount { get; set; } +} diff --git a/server/dotnet/Models/Payments/API/CheckoutTransactionRequest.cs b/server/dotnet/Models/Payments/API/CheckoutTransactionRequest.cs new file mode 100644 index 0000000..4685f3a --- /dev/null +++ b/server/dotnet/Models/Payments/API/CheckoutTransactionRequest.cs @@ -0,0 +1,15 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models.Payments; + +public class CheckoutTransactionRequest +{ + [JsonPropertyName("amount")] + public int Amount { get; set; } + + [JsonPropertyName("authorization_token")] + public string TransactionToken { get; set; } + + [JsonPropertyName("application_fee")] + public int ApplicationFee { get; set; } +} diff --git a/server/dotnet/Models/Payments/API/CreateTransactionRequest.cs b/server/dotnet/Models/Payments/API/CreateTransactionRequest.cs new file mode 100644 index 0000000..48cf6b5 --- /dev/null +++ b/server/dotnet/Models/Payments/API/CreateTransactionRequest.cs @@ -0,0 +1,24 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models.Payments; + +public class CreateTransactionRequest +{ + [JsonPropertyName("amount")] + public int Amount { get; set; } + + [JsonPropertyName("card_token")] + public string CardToken { get; set; } + + [JsonPropertyName("payment_configuration_id")] + public string PaymentConfigurationId { get; set; } + + [JsonPropertyName("application_fee")] + public int ApplicationFee { get; set; } + + [JsonPropertyName("transaction_type")] + public string TransactionType { get; set; } + + [JsonPropertyName("is_backoffice")] + public bool IsBackoffice { get; set; } +} diff --git a/server/dotnet/Models/Payments/API/PaymentConfigurationListRead.cs b/server/dotnet/Models/Payments/API/PaymentConfigurationListRead.cs new file mode 100644 index 0000000..66ad414 --- /dev/null +++ b/server/dotnet/Models/Payments/API/PaymentConfigurationListRead.cs @@ -0,0 +1,12 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models.Payments; + +public class PaymentConfigurationListRead +{ + [JsonPropertyName("count")] + public int Count { get; set; } + + [JsonPropertyName("value")] + public ICollection Value { get; set; } +} diff --git a/server/dotnet/Models/Payments/API/PaymentConfigurationRead.cs b/server/dotnet/Models/Payments/API/PaymentConfigurationRead.cs new file mode 100644 index 0000000..3e2c46f --- /dev/null +++ b/server/dotnet/Models/Payments/API/PaymentConfigurationRead.cs @@ -0,0 +1,12 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models.Payments; + +public class PaymentConfigurationRead +{ + [JsonPropertyName("id")] + public string Id { get; set; } + + [JsonPropertyName("name")] + public string Name { get; set; } +} diff --git a/server/dotnet/Models/Payments/API/PublicKeyRead.cs b/server/dotnet/Models/Payments/API/PublicKeyRead.cs new file mode 100644 index 0000000..0b55395 --- /dev/null +++ b/server/dotnet/Models/Payments/API/PublicKeyRead.cs @@ -0,0 +1,9 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models.Payments; + +public class PublicKeyRead +{ + [JsonPropertyName("public_key")] + public string PublicKey { get; set; } +} diff --git a/server/dotnet/Models/Payments/API/SecurityTokenRead.cs b/server/dotnet/Models/Payments/API/SecurityTokenRead.cs new file mode 100644 index 0000000..cae839c --- /dev/null +++ b/server/dotnet/Models/Payments/API/SecurityTokenRead.cs @@ -0,0 +1,12 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models.Payments; + +public class SecurityTokenRead +{ + [JsonPropertyName("security_token")] + public string SecurityToken { get; set; } + + [JsonPropertyName("expires_in")] + public int ExpiresIn { get; set; } +} diff --git a/server/dotnet/Models/Payments/API/TransactionRead.cs b/server/dotnet/Models/Payments/API/TransactionRead.cs new file mode 100644 index 0000000..dbe9c13 --- /dev/null +++ b/server/dotnet/Models/Payments/API/TransactionRead.cs @@ -0,0 +1,15 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models.Payments; + +public class TransactionRead +{ + [JsonPropertyName("amount")] + public int Amount { get; set; } + + [JsonPropertyName("id")] + public string Id { get; set; } + + [JsonPropertyName("token")] + public string Token { get; set; } +} diff --git a/server/dotnet/Models/Payments/CheckoutConfiguration.cs b/server/dotnet/Models/Payments/CheckoutConfiguration.cs new file mode 100644 index 0000000..f738f32 --- /dev/null +++ b/server/dotnet/Models/Payments/CheckoutConfiguration.cs @@ -0,0 +1,15 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models.Payments; + +public class CheckoutConfiguration +{ + [JsonPropertyName("key")] + public string Key { get; set; } + + [JsonPropertyName("payment_configuration_id")] + public string PaymentConfigurationId { get; set; } + + [JsonPropertyName("environment_id")] + public string? EnvironmentId { get; set; } +} diff --git a/server/dotnet/Models/Payments/TransactionCaptureRequest.cs b/server/dotnet/Models/Payments/TransactionCaptureRequest.cs new file mode 100644 index 0000000..01b5c57 --- /dev/null +++ b/server/dotnet/Models/Payments/TransactionCaptureRequest.cs @@ -0,0 +1,13 @@ +using System.Text.Json.Serialization; + +public class TransactionCaptureRequest +{ + [JsonPropertyName("transaction_token")] + public string TransactionToken { get; set; } + [JsonPropertyName("amount")] + public int Amount { get; set; } + [JsonPropertyName("card_token")] + public string CardToken { get; set; } + [JsonPropertyName("payment_configuration_id")] + public string PaymentConfigurationId { get; set; } +} diff --git a/server/dotnet/Models/RefreshTokenResponseModel.cs b/server/dotnet/Models/RefreshTokenResponseModel.cs new file mode 100644 index 0000000..3190570 --- /dev/null +++ b/server/dotnet/Models/RefreshTokenResponseModel.cs @@ -0,0 +1,96 @@ +using System.Text.Json.Serialization; + +namespace Blackbaud.PaymentsAPI.Sample.Backend.Models; + +public class RefreshTokenResponseModel +{ + /// + /// Access Token + /// + [JsonPropertyName("access_token")] + public string AccessToken { get; set; } + + /// + /// Token Type + /// + [JsonPropertyName("token_type")] + public string TokenType { get; set; } + + /// + /// Expires In + /// + [JsonPropertyName("expires_in")] + public int ExpiresIn { get; set; } + + /// + /// Refresh Token + /// + [JsonPropertyName("refresh_token")] + public string RefreshToken { get; set; } + + /// + /// Environment ID + /// + [JsonPropertyName("environment_id")] + public string EnvironmentId { get; set; } + + /// + /// Environment Name + /// + [JsonPropertyName("environment_name")] + public string EnvironmentName { get; set; } + + /// + /// Legal Entity Id + /// + [JsonPropertyName("legal_entity_id")] + public string LegalEntityId { get; set; } + + /// + /// Legal Entity Name + /// + [JsonPropertyName("legal_entity_name")] + public string LegalEntityName { get; set; } + + /// + /// User ID + /// + [JsonPropertyName("user_id")] + public string UserId { get; set; } + + /// + /// Email + /// + [JsonPropertyName("email")] + public string Email { get; set; } + + /// + /// Family Name + /// + [JsonPropertyName("family_name")] + public string FamilyName { get; set; } + + /// + /// Given Name + /// + [JsonPropertyName("given_name")] + public string GivenName { get; set; } + + /// + /// Refresh Token Expires In + /// + [JsonPropertyName("refresh_token_expires_in")] + public int? RefreshTokenExpiresIn { get; set; } + + /// + /// The access mode (Full, Limited) + /// + [JsonPropertyName("mode")] + public string Mode { get; set; } + + /// + /// The scope of the response (space delimited) + /// + [JsonPropertyName("scope")] + public string Scope { get; set; } +} diff --git a/server/dotnet/Program.cs b/server/dotnet/Program.cs index dc7c950..1c29cac 100644 --- a/server/dotnet/Program.cs +++ b/server/dotnet/Program.cs @@ -1,9 +1,64 @@ +using Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic; +using Blackbaud.PaymentsAPI.Sample.Backend.BusinessLogic.Interfaces; +using Blackbaud.PaymentsAPI.Sample.Backend.DataAccess; +using Blackbaud.PaymentsAPI.Sample.Backend.Models; + var builder = WebApplication.CreateBuilder(args); -builder.Services.AddControllers(); +var services = builder.Services; + +services.AddControllers(); +services.AddOpenApi(); + +var configuration = builder.Configuration; +var appSettings = configuration.GetSection("AppSettings").Get(); +services.Configure(configuration.GetSection("AppSettings")); + +services.AddHttpClient( + "PaymentsService", + client => + { + // Set the base address to the SkyApiBaseUri and append constituent/v1/ + client.BaseAddress = new Uri($"{appSettings.SkyApiBaseUri}payments/v1/"); + + // Set request headers for bb-api-subscription-key + client.DefaultRequestHeaders.Add( + "bb-api-subscription-key", + appSettings.PaymentsSubscriptionKey + ); + } +); + +services.AddHttpClient( + "GiftsService", + client => + { + // Set the base address to the SkyApiBaseUri and append gift/v1/ + client.BaseAddress = new Uri($"{appSettings.SkyApiBaseUri}gift/v1/"); + + // Set request headers for bb-api-subscription-key + client.DefaultRequestHeaders.Add( + "bb-api-subscription-key", + appSettings.GeneralSubscriptionKey + ); + } +); + +// Services to be injected. +services.AddSingleton(); +services.AddSingleton(); +services.AddTransient(); +services.AddSingleton(); +services.AddSingleton(); +services.AddSingleton(); var app = builder.Build(); app.MapControllers(); +app.MapOpenApi(); +app.UseSwaggerUI(options => +{ + options.SwaggerEndpoint("/openapi/v1.json", "v1"); +}); app.Run(); diff --git a/server/dotnet/dotnet.sln b/server/dotnet/dotnet.sln new file mode 100644 index 0000000..ca7d3cd --- /dev/null +++ b/server/dotnet/dotnet.sln @@ -0,0 +1,24 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.2.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Blackbaud.PaymentsAPI.Sample.Backend", "Blackbaud.PaymentsAPI.Sample.Backend.csproj", "{D57F08FE-EFBC-F0A6-7B1A-A375F35E4F49}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D57F08FE-EFBC-F0A6-7B1A-A375F35E4F49}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D57F08FE-EFBC-F0A6-7B1A-A375F35E4F49}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D57F08FE-EFBC-F0A6-7B1A-A375F35E4F49}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D57F08FE-EFBC-F0A6-7B1A-A375F35E4F49}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {275F62CC-8B81-46E9-9E39-3C388310C89C} + EndGlobalSection +EndGlobal From ca99bed196dfc8cb15920006c31e5d82637a6c68 Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Fri, 13 Feb 2026 16:45:23 -0500 Subject: [PATCH 8/8] Enable sessions --- server/dotnet/Program.cs | 11 +++++++++++ server/dotnet/appsettings.json | 6 +++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/server/dotnet/Program.cs b/server/dotnet/Program.cs index 1c29cac..632b49a 100644 --- a/server/dotnet/Program.cs +++ b/server/dotnet/Program.cs @@ -52,6 +52,15 @@ services.AddSingleton(); services.AddSingleton(); +// Configure session. +services.AddMemoryCache(); +services.AddDistributedMemoryCache(); +services.AddSession(options => +{ + options.IdleTimeout = TimeSpan.FromMinutes(10); + options.Cookie.Name = ".AuthCodeFlowTutorial.Session"; +}); + var app = builder.Build(); app.MapControllers(); @@ -61,4 +70,6 @@ options.SwaggerEndpoint("/openapi/v1.json", "v1"); }); +app.UseSession(); + app.Run(); diff --git a/server/dotnet/appsettings.json b/server/dotnet/appsettings.json index 10f68b8..6d50e0f 100644 --- a/server/dotnet/appsettings.json +++ b/server/dotnet/appsettings.json @@ -1,4 +1,8 @@ { + "AppSettings": { + "AuthBaseUri": "https://oauth2.sky.blackbaud.com/", + "SkyApiBaseUri": "https://api.sky.blackbaud.com/" + }, "Logging": { "LogLevel": { "Default": "Information", @@ -6,4 +10,4 @@ } }, "AllowedHosts": "*" -} +} \ No newline at end of file