commit 8c4706dfde4ca7e3e4553a8613c33a4b8bc3f188 Author: Dhanraj Date: Sat Sep 28 20:48:18 2024 +0530 first commit diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..9124575 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0711527 --- /dev/null +++ b/.gitignore @@ -0,0 +1,42 @@ +# See http://help.github.com/ignore-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/.prettierrc b/.prettierrc new file mode 100644 index 0000000..2537e81 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "semi": true, + "singleQuote": true, + "printWidth": 160, + "vueIndentScriptAndStyle": true +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..77b3745 --- /dev/null +++ b/.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/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..740e35a --- /dev/null +++ b/.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": "pwa-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/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..a298b5b --- /dev/null +++ b/.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/README.md b/README.md new file mode 100644 index 0000000..04539d2 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# PlurkAngular + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.0.4. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/angular.json b/angular.json new file mode 100644 index 0000000..e3ca18f --- /dev/null +++ b/angular.json @@ -0,0 +1,115 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "cli": { + "packageManager": "npm", + "analytics": false + }, + "newProjectRoot": "projects", + "projects": { + "plurk-angular": { + "projectType": "application", + "schematics": {}, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + + + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "tsconfig.app.json", + "assets": [ + "src/assets", + "src/demo-prepare.html" + ], + "styles": [ + "src/assets/css/styles.css", + "src/assets/css/tailwind.css" + ], + "scripts": [ + "./node_modules/aos/dist/aos.js" + ], + "allowedCommonJsDependencies": [ + "aos","ngx-lightbox" + ] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "outputHashing": "all" + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + + "options": { + "port": 4201 + }, + + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "browserTarget": "plurk-angular:build:production" + }, + "development": { + "browserTarget": "plurk-angular:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "plurk-angular:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing" + ], + "tsConfig": "tsconfig.spec.json", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.css" + ], + "scripts": [] + } + } + } + } + } +} diff --git a/mac_setup.txt b/mac_setup.txt new file mode 100644 index 0000000..ee6c0a5 --- /dev/null +++ b/mac_setup.txt @@ -0,0 +1,6 @@ + +[[ -s $HOME/.nvm/nvm.sh ]] && . $HOME/.nvm/nvm.sh # This loads NVM + + + nvm use 12 + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..b568475 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,20733 @@ +{ + "name": "plurk-angular", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "plurk-angular", + "version": "0.0.0", + "dependencies": { + "@angular/animations": "^15.0.0", + "@angular/common": "^15.0.0", + "@angular/compiler": "^15.0.0", + "@angular/core": "^15.0.0", + "@angular/forms": "^15.0.0", + "@angular/platform-browser": "^15.0.0", + "@angular/platform-browser-dynamic": "^15.0.0", + "@angular/router": "^15.0.0", + "@ngrx/store": "^15.0.0", + "@nicky-lenaers/ngx-scroll-to": "^9.0.0", + "@supabase/supabase-js": "^2.36.0", + "@tailwindcss/line-clamp": "^0.4.2", + "@tailwindcss/typography": "^0.5.8", + "aos": "^2.3.4", + "apexcharts": "^3.36.3", + "file-saver": "^2.0.5", + "ng-apexcharts": "^1.7.4", + "ng-particles": "^2.1.11", + "ngx-countup": "^13.1.0", + "ngx-lightbox": "^2.4.1", + "ngx-owl-carousel-o": "^5.0.0", + "ngx-typed-js": "^2.0.2", + "or": "^0.2.0", + "rxjs": "~7.5.0", + "swiper": "^8.4.5", + "tslib": "^2.3.0", + "tsparticles": "^1.18.11", + "xlsx": "^0.18.5", + "zone.js": "~0.12.0" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^15.0.4", + "@angular/cli": "~15.0.4", + "@angular/compiler-cli": "^15.0.0", + "@types/aos": "^3.0.4", + "@types/jasmine": "~4.3.0", + "autoprefixer": "^10.4.13", + "jasmine-core": "~4.5.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.0.0", + "postcss": "^8.4.20", + "prettier": "^2.8.1", + "prettier-plugin-tailwindcss": "^0.2.1", + "tailwindcss": "^3.2.4", + "typescript": "~4.8.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.1500.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1500.4.tgz", + "integrity": "sha512-U9RQueICmmNk9c2zQjUN8qi/+H6kO2VKqeyuh3Vwj6yj4lQEINf1SNX8Ba9UFH/rxNo64iFM0k5x5vX0VajvCw==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "15.0.4", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/architect/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/architect/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@angular-devkit/build-angular": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.0.4.tgz", + "integrity": "sha512-F1KyaZEIWcVP2xIIiu3ZnH+FzuEehR9rli1F566dPijbll8EnknnItEugFtVhyoaVTh8eJmm1SfsoQrneMbrsg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.2.0", + "@angular-devkit/architect": "0.1500.4", + "@angular-devkit/build-webpack": "0.1500.4", + "@angular-devkit/core": "15.0.4", + "@babel/core": "7.20.2", + "@babel/generator": "7.20.4", + "@babel/helper-annotate-as-pure": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.20.1", + "@babel/plugin-transform-async-to-generator": "7.18.6", + "@babel/plugin-transform-runtime": "7.19.6", + "@babel/preset-env": "7.20.2", + "@babel/runtime": "7.20.1", + "@babel/template": "7.18.10", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "15.0.4", + "ansi-colors": "4.1.3", + "autoprefixer": "10.4.13", + "babel-loader": "9.1.0", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "4.21.4", + "cacache": "17.0.2", + "chokidar": "3.5.3", + "copy-webpack-plugin": "11.0.0", + "critters": "0.0.16", + "css-loader": "6.7.3", + "esbuild-wasm": "0.15.13", + "glob": "8.0.3", + "https-proxy-agent": "5.0.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "karma-source-map-support": "1.4.0", + "less": "4.1.3", + "less-loader": "11.1.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.1", + "magic-string": "0.26.7", + "mini-css-extract-plugin": "2.6.1", + "open": "8.4.0", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "6.0.1", + "piscina": "3.2.0", + "postcss": "8.4.19", + "postcss-loader": "7.0.1", + "resolve-url-loader": "5.0.0", + "rxjs": "6.6.7", + "sass": "1.56.1", + "sass-loader": "13.2.0", + "semver": "7.3.8", + "source-map-loader": "4.0.1", + "source-map-support": "0.5.21", + "terser": "5.15.1", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.4.1", + "webpack": "5.75.0", + "webpack-dev-middleware": "5.3.3", + "webpack-dev-server": "4.11.1", + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "5.1.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "esbuild": "0.15.13" + }, + "peerDependencies": { + "@angular/compiler-cli": "^15.0.0", + "@angular/localize": "^15.0.0", + "@angular/platform-server": "^15.0.0", + "@angular/service-worker": "^15.0.0", + "karma": "^6.3.0", + "ng-packagr": "^15.0.0", + "protractor": "^7.0.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": "~4.8.2" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "karma": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "protractor": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/postcss": { + "version": "8.4.19", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", + "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1500.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1500.4.tgz", + "integrity": "sha512-ay2vHMfyhaPDkzEISlRV1ZiTD/VCUunW+uRfNIzo9/o83UjTKVcqYUOUOvbIbrsb6JbQoNY+DwkES5frG1UmnA==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1500.4", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^4.0.0" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@angular-devkit/core": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.0.4.tgz", + "integrity": "sha512-4ITpRAevd652SxB+qNesIQ9qfbm7wT5UBU5kJOPPwGL77I21g8CQpkmV1n5VSacPvC9Zbz90feOWexf7w7JzcA==", + "dev": true, + "dependencies": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/core/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/core/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@angular-devkit/schematics": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.0.4.tgz", + "integrity": "sha512-/gXiLFS0+xFdx6wPoBpe/c6/K9I5edMpaASqPf4XheKtrsSvL+qTlIi3nsbfItzOiDXbaBmlbxGfkMHz/yg0Ig==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "15.0.4", + "jsonc-parser": "3.2.0", + "magic-string": "0.26.7", + "ora": "5.4.1", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@angular/animations": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-15.0.4.tgz", + "integrity": "sha512-fOqf7fHX9aspIUmlOsig8ZyZlalU+eIBsUgu4QpH9+vfQzGCJcKIjPClW4Yb7rkNlyLlfQqaICOxG9gOxuEI7Q==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "15.0.4" + } + }, + "node_modules/@angular/cli": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.0.4.tgz", + "integrity": "sha512-dQEus458EvBYZuM10UPO/1BYshV3cprY4os6uQj6YLdEwOogElkAedUILgtTYOo3jrwc+qjefHVJbz6R+xJCOg==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1500.4", + "@angular-devkit/core": "15.0.4", + "@angular-devkit/schematics": "15.0.4", + "@schematics/angular": "15.0.4", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.3", + "ini": "3.0.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "npm-package-arg": "9.1.2", + "npm-pick-manifest": "8.0.1", + "open": "8.4.0", + "ora": "5.4.1", + "pacote": "15.0.6", + "resolve": "1.22.1", + "semver": "7.3.8", + "symbol-observable": "4.0.0", + "yargs": "17.6.2" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/common": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.0.4.tgz", + "integrity": "sha512-0x/2IhaetJqfXMeQ4DlRnOTzGWD0OvOeKORyi0q7WXPxSoD9MUezQHGmzkc5lK9tDYE9cNYyQfkUBcbJT/k6MA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "15.0.4", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.0.4.tgz", + "integrity": "sha512-KtxgRJUGZamOXpIILFG2FTUW+bbc2phi/o6955/Q4LR1HOICQrYEy8PrT1Gp+lVXFKgDG+6cb01lH14LoBQvyw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "15.0.4" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + } + } + }, + "node_modules/@angular/compiler-cli": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.0.4.tgz", + "integrity": "sha512-e6Jt4qkIiyqBg8ZlpcQaQtQ5OAnfl8gfkJnIwSvvCg0mPCJv+ZkQAL5s3SpzzM5jd7Nr0jBq3zd2Fv0eKW2ayw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.17.2", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.11.0", + "magic-string": "^0.27.0", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js", + "ngcc": "bundles/ngcc/main-ngcc.js" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/compiler": "15.0.4", + "typescript": ">=4.8.2 <4.9" + } + }, + "node_modules/@angular/compiler-cli/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular/core": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.0.4.tgz", + "integrity": "sha512-Xf8Nuu0iM/VjQHPS4A0jufqTYZCfiGqc0iAD7j9zM3TD6caQ3OP4mxXVYYTpIG+APKel38+Gol8cpQB/8PVbqQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.11.4 || ~0.12.0" + } + }, + "node_modules/@angular/forms": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.0.4.tgz", + "integrity": "sha512-3Ft/p2ug/zp2p0g2rhLq9v/5F1G11xa+YujAKL5kOFa0zUoroDG6n4b6VEcsGWmDE9NR7Vkiys9rHckiJUluHg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "15.0.4", + "@angular/core": "15.0.4", + "@angular/platform-browser": "15.0.4", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.0.4.tgz", + "integrity": "sha512-SOLrzh9AsHzhfre95ShvHd0hBcyEcFftJuAaU+35L4GiOAY+CznFuJUq4LjITCMQDHGzdpUlRjoUyJRQFmlvXQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/animations": "15.0.4", + "@angular/common": "15.0.4", + "@angular/core": "15.0.4" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/platform-browser-dynamic": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.4.tgz", + "integrity": "sha512-SCUxsfJAHXnAyo2ulmfqs3vGnB/tWNKe+G2KKshrSLyCYIJ3UgpsoPAo1mGih64qo8TWOQk9PJgrlVEB2DoWYg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "15.0.4", + "@angular/compiler": "15.0.4", + "@angular/core": "15.0.4", + "@angular/platform-browser": "15.0.4" + } + }, + "node_modules/@angular/router": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.0.4.tgz", + "integrity": "sha512-6cBUu1kSigORGpWq+Wc3hTLRQcJvtlaZ5OFOIzKGiBEPgezn/AzrWHi/bEccWLZAVFhbUOhcRn9GwudqiqX6+A==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "15.0.4", + "@angular/core": "15.0.4", + "@angular/platform-browser": "15.0.4", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "dev": true + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz", + "integrity": "sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.2", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.1", + "@babel/parser": "^7.20.2", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.20.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz", + "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.2", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", + "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", + "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", + "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", + "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz", + "integrity": "sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", + "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", + "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", + "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", + "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-simple-access": "^7.19.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", + "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.19.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", + "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", + "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/generator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.5", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.13.tgz", + "integrity": "sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.13.tgz", + "integrity": "sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "node_modules/@ngrx/store": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@ngrx/store/-/store-15.0.0.tgz", + "integrity": "sha512-zGEK7pgL9X1M2d+tF5tJRjN9dUibfPnyAFcI0+375gBkUSU2gJxuphB0NoGPVJMtLFsW+5yI4+kjui7M6nsaYQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/core": "^15.0.0", + "rxjs": "^6.5.3 || ^7.5.0" + } + }, + "node_modules/@ngtools/webpack": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.0.4.tgz", + "integrity": "sha512-+1riOTohRHhN2N8Y+usHFtNz+Rt6q/44puj9rwjlKwWIA+6qxAv3kQhVHivVaU3bCAB9B/3jAxSuZTNHk0wgTg==", + "dev": true, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^15.0.0", + "typescript": "~4.8.2", + "webpack": "^5.54.0" + } + }, + "node_modules/@nicky-lenaers/ngx-scroll-to": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@nicky-lenaers/ngx-scroll-to/-/ngx-scroll-to-9.0.0.tgz", + "integrity": "sha512-eS0vyx8qX4UTMluRYc+sQF/vJHCnAKiufWrwQRme0VURwp+RdOoZDZpYrOPTxPfx6CVj72arTeV9auDYa0WKtA==", + "license": "MIT", + "engines": { + "node": ">=8.0.0", + "npm": ">=6.0.0" + }, + "peerDependencies": { + "@angular/common": "^8.0.0 || ^9.0.0", + "@angular/core": "^8.0.0 || ^9.0.0", + "tslib": "^1.10.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.3.tgz", + "integrity": "sha512-8cXNkDIbnXPVbhXMmQ7/bklCAjtmPaXfI9aEM4iH+xSuEHINLMHhlfESvVwdqmHJRJkR48vNJTSUvoF6GRPSFA==", + "dev": true, + "dependencies": { + "@npmcli/promise-spawn": "^6.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/git/node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.1.tgz", + "integrity": "sha512-GIykAFdOVK31Q1/zAtT5MbxqQL2vyl9mvFJv+OGu01zxbhL3p0xc8gJjdNGX1mWmUT43aEKVO2L6V/2j4TOsAA==", + "dev": true, + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "lib/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", + "dev": true, + "dependencies": { + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.0.tgz", + "integrity": "sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==", + "dev": true, + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@schematics/angular": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.0.4.tgz", + "integrity": "sha512-4l4WZlr9MnhXo2B7eLczttgkeq8Agm3zfiX0trYkOdYqLtzOKxPiI+RrZSsfIDmmLSE1EillZ3PtDImMzAgQPg==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "15.0.4", + "@angular-devkit/schematics": "15.0.4", + "jsonc-parser": "3.2.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, + "node_modules/@supabase/auth-js": { + "version": "2.65.0", + "resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.65.0.tgz", + "integrity": "sha512-+wboHfZufAE2Y612OsKeVP4rVOeGZzzMLD/Ac3HrTQkkY4qXNjI6Af9gtmxwccE5nFvTiF114FEbIQ1hRq5uUw==", + "license": "MIT", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/functions-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.4.1.tgz", + "integrity": "sha512-8sZ2ibwHlf+WkHDUZJUXqqmPvWQ3UHN0W30behOJngVh/qHHekhJLCFbh0AjkE9/FqqXtf9eoVvmYgfCLk5tNA==", + "license": "MIT", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/node-fetch": { + "version": "2.6.15", + "resolved": "https://registry.npmjs.org/@supabase/node-fetch/-/node-fetch-2.6.15.tgz", + "integrity": "sha512-1ibVeYUacxWYi9i0cf5efil6adJ9WRyZBLivgjs+AUpewx1F3xPi7gLgaASI2SmIQxPoCEjAsLAzKPgMJVgOUQ==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/@supabase/postgrest-js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-1.16.1.tgz", + "integrity": "sha512-EOSEZFm5pPuCPGCmLF1VOCS78DfkSz600PBuvBND/IZmMciJ1pmsS3ss6TkB6UkuvTybYiBh7gKOYyxoEO3USA==", + "license": "MIT", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/realtime-js": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.10.2.tgz", + "integrity": "sha512-qyCQaNg90HmJstsvr2aJNxK2zgoKh9ZZA8oqb7UT2LCh3mj9zpa3Iwu167AuyNxsxrUE8eEJ2yH6wLCij4EApA==", + "license": "MIT", + "dependencies": { + "@supabase/node-fetch": "^2.6.14", + "@types/phoenix": "^1.5.4", + "@types/ws": "^8.5.10", + "ws": "^8.14.2" + } + }, + "node_modules/@supabase/realtime-js/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "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/@supabase/storage-js": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.7.0.tgz", + "integrity": "sha512-iZenEdO6Mx9iTR6T7wC7sk6KKsoDPLq8rdu5VRy7+JiT1i8fnqfcOr6mfF2Eaqky9VQzhP8zZKQYjzozB65Rig==", + "license": "MIT", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/supabase-js": { + "version": "2.45.4", + "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.45.4.tgz", + "integrity": "sha512-E5p8/zOLaQ3a462MZnmnz03CrduA5ySH9hZyL03Y+QZLIOO4/Gs8Rdy4ZCKDHsN7x0xdanVEWWFN3pJFQr9/hg==", + "license": "MIT", + "dependencies": { + "@supabase/auth-js": "2.65.0", + "@supabase/functions-js": "2.4.1", + "@supabase/node-fetch": "2.6.15", + "@supabase/postgrest-js": "1.16.1", + "@supabase/realtime-js": "2.10.2", + "@supabase/storage-js": "2.7.0" + } + }, + "node_modules/@tailwindcss/line-clamp": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.4.2.tgz", + "integrity": "sha512-HFzAQuqYCjyy/SX9sLGB1lroPzmcnWv1FHkIpmypte10hptf4oPUfucryMKovZh2u0uiS9U5Ty3GghWfEJGwVw==", + "peerDependencies": { + "tailwindcss": ">=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.8.tgz", + "integrity": "sha512-xGQEp8KXN8Sd8m6R4xYmwxghmswrd0cPnNI2Lc6fmrC3OojysTBJJGSIVwPV56q4t6THFUK3HJ0EaWwpglSxWw==", + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/aos": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/aos/-/aos-3.0.4.tgz", + "integrity": "sha512-mna6Jd6bdK1NpwarLopGvXOgUoCfj0470IwLxuVOFDElTGI0JTd7xSGQ0AjbAEnHErC/b3fA9t2uB3IXVKmckA==", + "dev": true + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "node_modules/@types/cors": { + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.4.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz", + "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.31", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/jasmine": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.1.tgz", + "integrity": "sha512-Vu8l+UGcshYmV1VWwULgnV/2RDbBaO6i2Ptx7nd//oJPIZGhoI1YLST4VKagD2Pq/Bc2/7zvtvhM7F3p4SN7kQ==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.11.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.16.tgz", + "integrity": "sha512-6T7P5bDkRhqRxrQtwj7vru+bWTpelgtcETAZEUSdq0YISKz8WKdoBukQLYQQ6DFHvU9JRsbFq0JH5C51X2ZdnA==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/phoenix": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.5.tgz", + "integrity": "sha512-xegpDuR+z0UqG9fwHqNoy3rI7JDlvaPh2TY47Fl80oq6g+hXT+c/LEuE43X48clZ6lOfANl5WrPur9fYO1RJ/w==", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/adler-32": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/agentkeepalive/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aos": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/aos/-/aos-2.3.4.tgz", + "integrity": "sha512-zh/ahtR2yME4I51z8IttIt4lC1Nw0ktsFtmeDzID1m9naJnWXhCoARaCgNOGXb5CLy3zm+wqmRAEgMYB5E2HUw==", + "dependencies": { + "classlist-polyfill": "^1.0.3", + "lodash.debounce": "^4.0.6", + "lodash.throttle": "^4.0.1" + } + }, + "node_modules/apexcharts": { + "version": "3.36.3", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.36.3.tgz", + "integrity": "sha512-8/FXEs0ohXMff07Gv28XjhPwEJphIUdq2/wii/pcvi54Tw6z1mjrV8ydN8rlWi/ve8BAPBefJkLmRWv7UOBsLw==", + "dependencies": { + "svg.draggable.js": "^2.2.2", + "svg.easing.js": "^2.0.0", + "svg.filter.js": "^2.0.2", + "svg.pathmorphing.js": "^0.1.3", + "svg.resize.js": "^1.4.3", + "svg.select.js": "^3.0.1" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-loader": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.0.tgz", + "integrity": "sha512-Antt61KJPinUMwHwIIz9T5zfMgevnfZkEVWYDWlG888fgdvRRGD0JTuf/fFozQnfT+uq64sk1bmdHDy/mOEWnA==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.2", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/bonjour-service": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", + "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.2.tgz", + "integrity": "sha512-rYUs2x4OjSgCQND7nTrh21AHIBFgd7s/ctAYvU3a8u+nK+R5YaX/SFPDYz4Azz7SGL6+6L9ZZWI4Kawpb7grzQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001439", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", + "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/cfb": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "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" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/classlist-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz", + "integrity": "sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ==" + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/codepage": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "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-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/core-js-compat": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", + "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/countup.js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.3.2.tgz", + "integrity": "sha512-dQ7F/CmKGjaO6cDfhtEXwsKVlXIpJ89dFs8PvkaZH9jBVJ2Z8GU4iwG/qP7MgY8qwr+1skbwR6qecWWQLUzB8Q==" + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/critters": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^4.2.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" + } + }, + "node_modules/critters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/critters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/critters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/critters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/critters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/critters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-loader": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.19", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "node_modules/dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "dev": true, + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom7": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-4.0.4.tgz", + "integrity": "sha512-DSSgBzQ4rJWQp1u6o+3FVwMNnT5bzQbMb+o31TjYYeRi05uAcpF8koxdfzeoe5ElzPmua7W7N28YJhF7iEKqIw==", + "dependencies": { + "ssr-window": "^4.0.0" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/engine.io": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz", + "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==", + "dev": true, + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", + "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", + "dev": true + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.13.tgz", + "integrity": "sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.13", + "@esbuild/linux-loong64": "0.15.13", + "esbuild-android-64": "0.15.13", + "esbuild-android-arm64": "0.15.13", + "esbuild-darwin-64": "0.15.13", + "esbuild-darwin-arm64": "0.15.13", + "esbuild-freebsd-64": "0.15.13", + "esbuild-freebsd-arm64": "0.15.13", + "esbuild-linux-32": "0.15.13", + "esbuild-linux-64": "0.15.13", + "esbuild-linux-arm": "0.15.13", + "esbuild-linux-arm64": "0.15.13", + "esbuild-linux-mips64le": "0.15.13", + "esbuild-linux-ppc64le": "0.15.13", + "esbuild-linux-riscv64": "0.15.13", + "esbuild-linux-s390x": "0.15.13", + "esbuild-netbsd-64": "0.15.13", + "esbuild-openbsd-64": "0.15.13", + "esbuild-sunos-64": "0.15.13", + "esbuild-windows-32": "0.15.13", + "esbuild-windows-64": "0.15.13", + "esbuild-windows-arm64": "0.15.13" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.13.tgz", + "integrity": "sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.13.tgz", + "integrity": "sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.13.tgz", + "integrity": "sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.13.tgz", + "integrity": "sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.13.tgz", + "integrity": "sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.13.tgz", + "integrity": "sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.13.tgz", + "integrity": "sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.13.tgz", + "integrity": "sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.13.tgz", + "integrity": "sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.13.tgz", + "integrity": "sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.13.tgz", + "integrity": "sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.13.tgz", + "integrity": "sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.13.tgz", + "integrity": "sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.13.tgz", + "integrity": "sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.13.tgz", + "integrity": "sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.13.tgz", + "integrity": "sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz", + "integrity": "sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-wasm": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.15.13.tgz", + "integrity": "sha512-0am8fvHKACwofWQxtZLTMv4mDiDwUrdt0DyRaQ2r7YWIpkmpg4GWYy0EyW+gPjiPHzkZKqN9d3UYsZGgvaAASw==", + "dev": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.13.tgz", + "integrity": "sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.13.tgz", + "integrity": "sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz", + "integrity": "sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", + "dev": true + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", + "license": "MIT" + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "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/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "13.1.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", + "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "node_modules/hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", + "dev": true, + "dependencies": { + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" + } + }, + "node_modules/hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "dev": true + }, + "node_modules/hosted-git-info": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "dev": true, + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "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": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", + "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.0.tgz", + "integrity": "sha512-bTf9UWe/UP1yxG3QUrj/KOvEhTAUWPcv+WvbFZ28LcqznXabp7Xu6o9y1JEC18+oqODuS7VhTpekV5XvFwsxJg==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", + "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true + }, + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "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/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "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://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jasmine-core": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.5.0.tgz", + "integrity": "sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==", + "dev": true + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz", + "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/karma": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz", + "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==", + "dev": true, + "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.4.1", + "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.1.1", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz", + "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==", + "dev": true, + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-coverage": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.0.tgz", + "integrity": "sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA==", + "dev": true, + "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/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/karma-coverage/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "dev": true, + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.0.0.tgz", + "integrity": "sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA==", + "dev": true, + "peerDependencies": { + "jasmine-core": "^4.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" + } + }, + "node_modules/karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "dependencies": { + "source-map-support": "^0.5.5" + } + }, + "node_modules/karma/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/karma/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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/karma/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "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://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/less": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", + "dev": true, + "dependencies": { + "klona": "^2.0.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/less/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dev": true, + "dependencies": { + "webpack-sources": "^3.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, + "node_modules/lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log4js": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.7.1.tgz", + "integrity": "sha512-lzbd0Eq1HRdWM2abSD7mk6YIVY0AogGJzb/z+lqzRk+8+XJP+M6L1MS5FUSc3jjGru4dbKjEMJmqlsoYYpuivQ==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.3" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/magic-string": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz", + "integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.4.12", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.12.tgz", + "integrity": "sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw==", + "dev": true, + "dependencies": { + "fs-monkey": "^1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", + "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", + "dev": true, + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "dev": true, + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/ng-apexcharts": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/ng-apexcharts/-/ng-apexcharts-1.7.4.tgz", + "integrity": "sha512-XpykR8qos14i2ly/QrmGkQIUQfqaZAe2+7tDg5An1akws3VwYg6O643g9LwdTIG3YeWlkKtt4zxYJpEJF3uLUg==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=13.0.0", + "@angular/core": ">=13.0.0", + "apexcharts": "^3.36.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/ng-particles": { + "version": "2.43.1", + "resolved": "https://registry.npmjs.org/ng-particles/-/ng-particles-2.43.1.tgz", + "integrity": "sha512-grjvp8G58ULRdaF+ANFl1EQiRdtV5UhopR6yVt13tvqaQWj8E35xhsCQZMtNvFOm+UMz4ucMhSQk0Ho/lovk7g==", + "deprecated": "@tsparticles/angular is the new package compatible with v3, please use that instead", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=2.0.0", + "@angular/core": ">=2.0.0", + "tsparticles": "^1.43.1" + } + }, + "node_modules/ngx-countup": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/ngx-countup/-/ngx-countup-13.1.0.tgz", + "integrity": "sha512-5U1heict3J3F+MTvwhEM3w/j9JuSp4Jqm530yrIzZtQC4huOPCTyZ4ZwBhGk+ZkBkb8HOCcm1xXu90/sydt0Qg==", + "dependencies": { + "countup.js": "^2.3.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=13.0.0", + "@angular/core": ">=13.0.0" + } + }, + "node_modules/ngx-lightbox": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/ngx-lightbox/-/ngx-lightbox-2.4.1.tgz", + "integrity": "sha512-5r+PA+6Ep3PPAx22SDC6HSX/qHrVLade67hkEnJG2ZId9MkarPyFaUq5bIvS6+dXsEyckF0d+yH1fI8D6YWAvQ==" + }, + "node_modules/ngx-owl-carousel-o": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/ngx-owl-carousel-o/-/ngx-owl-carousel-o-5.1.1.tgz", + "integrity": "sha512-AmaU02UzONGrBSj4K28ZWEZxLYySyiC7Vefq4VacjAhYxUR+HA9jdQghG4zM+QlVPkmgFdZeepeqZ3/h9fU3ug==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": " ^11.0.0-rc.0 || ^11.0.0", + "@angular/core": "^11.0.0-rc.0 || ^11.0.0", + "rxjs": "^6.0.1" + } + }, + "node_modules/ngx-typed-js": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ngx-typed-js/-/ngx-typed-js-2.1.1.tgz", + "integrity": "sha512-j/S5SdYy+Wjw+ad6OEfgk3QfucdqgS48XmKv34k0QII2MyRSwYvMxJ9ax60WdwRQCAG0xmu67FAN8tww7XwTEQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0", + "typed.js": "^2.0.12" + }, + "peerDependencies": { + "@angular/common": ">=11.0.0", + "@angular/core": ">=11.0.0" + } + }, + "node_modules/nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "!win32" + ], + "dependencies": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "optional": true + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.0.tgz", + "integrity": "sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.22 || ^14.13 || >=16" + } + }, + "node_modules/node-gyp-build": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "dev": true, + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/node-gyp/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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/node-gyp/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true + }, + "node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", + "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", + "dev": true, + "dependencies": { + "hosted-git-info": "^6.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data/node_modules/hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-bundled": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-install-checks": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.0.0.tgz", + "integrity": "sha512-SBU9oFglRVZnfElwAtF14NivyulDqF1VKqqwNsFW9HDcbHMAPHpRSsVFgKuwFGq/hVvWZExz62Th0kvxn/XE7Q==", + "dev": true, + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz", + "integrity": "sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", + "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-packlist": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", + "dev": true, + "dependencies": { + "ignore-walk": "^6.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", + "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", + "dev": true, + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dev": true, + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz", + "integrity": "sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^11.0.0", + "minipass": "^4.0.0", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz", + "integrity": "sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz", + "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==", + "dev": true, + "dependencies": { + "minipass": "^4.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dev": true, + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "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://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/or": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/or/-/or-0.2.0.tgz", + "integrity": "sha512-BHB8VZq2isxkyRaCBZ6CZCbQBzCT+gy8LPiqdbMH1+Fd6biFj3v8ebjeYzzL51PbsApsPYnGegGTO6KLQMxxDw==", + "engines": { + "node": "*" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pacote": { + "version": "15.0.6", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.0.6.tgz", + "integrity": "sha512-dQwcz/sME7QIL+cdrw/jftQfMMXxSo17i2kJ/gnhBhUvvBAsxoBu1lw9B5IzCH/Ce8CvEkG/QYZ6txzKfn0bTw==", + "dev": true, + "dependencies": { + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^2.1.0", + "minipass": "^3.1.6", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dev": true, + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/piscina": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", + "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", + "dev": true, + "dependencies": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0" + }, + "optionalDependencies": { + "nice-napi": "^1.0.2" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.4.20", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", + "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-loader": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.1.tgz", + "integrity": "sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==", + "dev": true, + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.7" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prettier": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", + "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-tailwindcss": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.2.1.tgz", + "integrity": "sha512-aIO8IguumORyRsmT+E7JfJ3A9FEoyhqZR7Au7TBOege3VZkgMvHJMkufeYp4zjnDK2iq4ktkvGMNOQR9T8lisQ==", + "dev": true, + "engines": { + "node": ">=12.17.0" + }, + "peerDependencies": { + "prettier": ">=2.2.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-package-json": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.0.tgz", + "integrity": "sha512-b/9jxWJ8EwogJPpv99ma+QwtqB7FSl3+V6UXS7Aaay8/5VwMY50oIFooY1UKXMWpfNCM6T/PoGqa5GD1g9xf9w==", + "dev": true, + "dependencies": { + "glob": "^8.0.1", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "dev": true, + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "node_modules/regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "dev": true, + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", + "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.56.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.56.1.tgz", + "integrity": "sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/sass-loader": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.0.tgz", + "integrity": "sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==", + "dev": true, + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "dev": true, + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socket.io": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.4.tgz", + "integrity": "sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.2.1", + "socket.io-adapter": "~2.4.0", + "socket.io-parser": "~4.2.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", + "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==", + "dev": true + }, + "node_modules/socket.io-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", + "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dev": true, + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", + "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" + } + }, + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "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://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/ssf": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "license": "Apache-2.0", + "dependencies": { + "frac": "~1.1.2" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ssr-window": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-4.0.2.tgz", + "integrity": "sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ==" + }, + "node_modules/ssri": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", + "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", + "dev": true, + "dependencies": { + "minipass": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ssri/node_modules/minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/streamroller": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.3.tgz", + "integrity": "sha512-CphIJyFx2SALGHeINanjFRKQ4l7x2c+rXYJ4BMq0gd+ZK0gi4VT8b+eHe2wi58x4UayBAKx4xtHpXT/ea1cz8w==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg.draggable.js": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz", + "integrity": "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==", + "dependencies": { + "svg.js": "^2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.easing.js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz", + "integrity": "sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==", + "dependencies": { + "svg.js": ">=2.3.x" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.filter.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz", + "integrity": "sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==", + "dependencies": { + "svg.js": "^2.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.js": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz", + "integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==" + }, + "node_modules/svg.pathmorphing.js": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz", + "integrity": "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==", + "dependencies": { + "svg.js": "^2.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.resize.js": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz", + "integrity": "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==", + "dependencies": { + "svg.js": "^2.6.5", + "svg.select.js": "^2.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.resize.js/node_modules/svg.select.js": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz", + "integrity": "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==", + "dependencies": { + "svg.js": "^2.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.select.js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz", + "integrity": "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==", + "dependencies": { + "svg.js": "^2.6.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/swiper": { + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-8.4.5.tgz", + "integrity": "sha512-zveyEFBBv4q1sVkbJHnuH4xCtarKieavJ4SxP0QEHvdpPLJRuD7j/Xg38IVVLbp7Db6qrPsLUePvxohYx39Agw==", + "funding": [ + { + "type": "patreon", + "url": "https://www.patreon.com/swiperjs" + }, + { + "type": "open_collective", + "url": "http://opencollective.com/swiper" + } + ], + "hasInstallScript": true, + "dependencies": { + "dom7": "^4.0.4", + "ssr-window": "^4.0.2" + }, + "engines": { + "node": ">= 4.7.0" + } + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/tailwindcss": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz", + "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==", + "dev": true, + "dependencies": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.18", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^4.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser": { + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", + "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + }, + "node_modules/tsparticles": { + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/tsparticles/-/tsparticles-1.43.1.tgz", + "integrity": "sha512-6EuHncwqzoyTlUxc11YH8LVlwVUgpYaZD0yMOeA2OvRqFZ9VQV8EjjQ6ZfXt6pfGA1ObPwU929jveFatxwTQkg==", + "deprecated": "tsParticles v3 is out, it contains breaking changes and it's recommended to migrate to that version with fixes and new features", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "hasInstallScript": true, + "license": "MIT" + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true + }, + "node_modules/typed.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/typed.js/-/typed.js-2.1.0.tgz", + "integrity": "sha512-bDuXEf7YcaKN4g08NMTUM6G90XU25CK3bh6U0THC/Mod/QPKlEt9g/EjvbYB8x2Qwr2p6J6I3NrsoYaVnY6wsQ==", + "license": "MIT" + }, + "node_modules/typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", + "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "dev": true, + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/webpack": { + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", + "dev": true, + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.1", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, + "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/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dev": true, + "dependencies": { + "typed-assert": "^1.0.8" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", + "webpack": "^5.12.0" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "node_modules/wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "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/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "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/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "dev": true, + "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/xlsx": { + "version": "0.18.5", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz", + "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "cfb": "~1.2.1", + "codepage": "~1.15.0", + "crc-32": "~1.2.1", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/zone.js": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.12.0.tgz", + "integrity": "sha512-XtC+I5dXU14HrzidAKBNMqneIVUykLEAA1x+v4KVrd6AUPWlwYORF8KgsVqvgdHiKZ4BkxxjvYi/ksEixTPR0Q==", + "dependencies": { + "tslib": "^2.3.0" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@angular-devkit/architect": { + "version": "0.1500.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1500.4.tgz", + "integrity": "sha512-U9RQueICmmNk9c2zQjUN8qi/+H6kO2VKqeyuh3Vwj6yj4lQEINf1SNX8Ba9UFH/rxNo64iFM0k5x5vX0VajvCw==", + "dev": true, + "requires": { + "@angular-devkit/core": "15.0.4", + "rxjs": "6.6.7" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@angular-devkit/build-angular": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.0.4.tgz", + "integrity": "sha512-F1KyaZEIWcVP2xIIiu3ZnH+FzuEehR9rli1F566dPijbll8EnknnItEugFtVhyoaVTh8eJmm1SfsoQrneMbrsg==", + "dev": true, + "requires": { + "@ampproject/remapping": "2.2.0", + "@angular-devkit/architect": "0.1500.4", + "@angular-devkit/build-webpack": "0.1500.4", + "@angular-devkit/core": "15.0.4", + "@babel/core": "7.20.2", + "@babel/generator": "7.20.4", + "@babel/helper-annotate-as-pure": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.20.1", + "@babel/plugin-transform-async-to-generator": "7.18.6", + "@babel/plugin-transform-runtime": "7.19.6", + "@babel/preset-env": "7.20.2", + "@babel/runtime": "7.20.1", + "@babel/template": "7.18.10", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "15.0.4", + "ansi-colors": "4.1.3", + "autoprefixer": "10.4.13", + "babel-loader": "9.1.0", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "4.21.4", + "cacache": "17.0.2", + "chokidar": "3.5.3", + "copy-webpack-plugin": "11.0.0", + "critters": "0.0.16", + "css-loader": "6.7.3", + "esbuild": "0.15.13", + "esbuild-wasm": "0.15.13", + "glob": "8.0.3", + "https-proxy-agent": "5.0.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "karma-source-map-support": "1.4.0", + "less": "4.1.3", + "less-loader": "11.1.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.1", + "magic-string": "0.26.7", + "mini-css-extract-plugin": "2.6.1", + "open": "8.4.0", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "6.0.1", + "piscina": "3.2.0", + "postcss": "8.4.19", + "postcss-loader": "7.0.1", + "resolve-url-loader": "5.0.0", + "rxjs": "6.6.7", + "sass": "1.56.1", + "sass-loader": "13.2.0", + "semver": "7.3.8", + "source-map-loader": "4.0.1", + "source-map-support": "0.5.21", + "terser": "5.15.1", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.4.1", + "webpack": "5.75.0", + "webpack-dev-middleware": "5.3.3", + "webpack-dev-server": "4.11.1", + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "5.1.0" + }, + "dependencies": { + "postcss": { + "version": "8.4.19", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", + "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", + "dev": true, + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + } + } + }, + "@angular-devkit/build-webpack": { + "version": "0.1500.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1500.4.tgz", + "integrity": "sha512-ay2vHMfyhaPDkzEISlRV1ZiTD/VCUunW+uRfNIzo9/o83UjTKVcqYUOUOvbIbrsb6JbQoNY+DwkES5frG1UmnA==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1500.4", + "rxjs": "6.6.7" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@angular-devkit/core": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.0.4.tgz", + "integrity": "sha512-4ITpRAevd652SxB+qNesIQ9qfbm7wT5UBU5kJOPPwGL77I21g8CQpkmV1n5VSacPvC9Zbz90feOWexf7w7JzcA==", + "dev": true, + "requires": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@angular-devkit/schematics": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.0.4.tgz", + "integrity": "sha512-/gXiLFS0+xFdx6wPoBpe/c6/K9I5edMpaASqPf4XheKtrsSvL+qTlIi3nsbfItzOiDXbaBmlbxGfkMHz/yg0Ig==", + "dev": true, + "requires": { + "@angular-devkit/core": "15.0.4", + "jsonc-parser": "3.2.0", + "magic-string": "0.26.7", + "ora": "5.4.1", + "rxjs": "6.6.7" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@angular/animations": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-15.0.4.tgz", + "integrity": "sha512-fOqf7fHX9aspIUmlOsig8ZyZlalU+eIBsUgu4QpH9+vfQzGCJcKIjPClW4Yb7rkNlyLlfQqaICOxG9gOxuEI7Q==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/cli": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.0.4.tgz", + "integrity": "sha512-dQEus458EvBYZuM10UPO/1BYshV3cprY4os6uQj6YLdEwOogElkAedUILgtTYOo3jrwc+qjefHVJbz6R+xJCOg==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1500.4", + "@angular-devkit/core": "15.0.4", + "@angular-devkit/schematics": "15.0.4", + "@schematics/angular": "15.0.4", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.3", + "ini": "3.0.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "npm-package-arg": "9.1.2", + "npm-pick-manifest": "8.0.1", + "open": "8.4.0", + "ora": "5.4.1", + "pacote": "15.0.6", + "resolve": "1.22.1", + "semver": "7.3.8", + "symbol-observable": "4.0.0", + "yargs": "17.6.2" + } + }, + "@angular/common": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.0.4.tgz", + "integrity": "sha512-0x/2IhaetJqfXMeQ4DlRnOTzGWD0OvOeKORyi0q7WXPxSoD9MUezQHGmzkc5lK9tDYE9cNYyQfkUBcbJT/k6MA==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/compiler": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.0.4.tgz", + "integrity": "sha512-KtxgRJUGZamOXpIILFG2FTUW+bbc2phi/o6955/Q4LR1HOICQrYEy8PrT1Gp+lVXFKgDG+6cb01lH14LoBQvyw==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/compiler-cli": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.0.4.tgz", + "integrity": "sha512-e6Jt4qkIiyqBg8ZlpcQaQtQ5OAnfl8gfkJnIwSvvCg0mPCJv+ZkQAL5s3SpzzM5jd7Nr0jBq3zd2Fv0eKW2ayw==", + "dev": true, + "requires": { + "@babel/core": "^7.17.2", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.11.0", + "magic-string": "^0.27.0", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "dependencies": { + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + } + } + }, + "@angular/core": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.0.4.tgz", + "integrity": "sha512-Xf8Nuu0iM/VjQHPS4A0jufqTYZCfiGqc0iAD7j9zM3TD6caQ3OP4mxXVYYTpIG+APKel38+Gol8cpQB/8PVbqQ==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/forms": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.0.4.tgz", + "integrity": "sha512-3Ft/p2ug/zp2p0g2rhLq9v/5F1G11xa+YujAKL5kOFa0zUoroDG6n4b6VEcsGWmDE9NR7Vkiys9rHckiJUluHg==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/platform-browser": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.0.4.tgz", + "integrity": "sha512-SOLrzh9AsHzhfre95ShvHd0hBcyEcFftJuAaU+35L4GiOAY+CznFuJUq4LjITCMQDHGzdpUlRjoUyJRQFmlvXQ==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/platform-browser-dynamic": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.4.tgz", + "integrity": "sha512-SCUxsfJAHXnAyo2ulmfqs3vGnB/tWNKe+G2KKshrSLyCYIJ3UgpsoPAo1mGih64qo8TWOQk9PJgrlVEB2DoWYg==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/router": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.0.4.tgz", + "integrity": "sha512-6cBUu1kSigORGpWq+Wc3hTLRQcJvtlaZ5OFOIzKGiBEPgezn/AzrWHi/bEccWLZAVFhbUOhcRn9GwudqiqX6+A==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "dev": true + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", + "dev": true + }, + "@babel/core": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz", + "integrity": "sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.2", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.1", + "@babel/parser": "^7.20.2", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.20.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz", + "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", + "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/helpers": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", + "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", + "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", + "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.1" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz", + "integrity": "sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", + "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", + "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", + "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", + "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-simple-access": "^7.19.4" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", + "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.19.1" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", + "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", + "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.10" + } + }, + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.5", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/types": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@esbuild/android-arm": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.13.tgz", + "integrity": "sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.13.tgz", + "integrity": "sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag==", + "dev": true, + "optional": true + }, + "@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "@ngrx/store": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@ngrx/store/-/store-15.0.0.tgz", + "integrity": "sha512-zGEK7pgL9X1M2d+tF5tJRjN9dUibfPnyAFcI0+375gBkUSU2gJxuphB0NoGPVJMtLFsW+5yI4+kjui7M6nsaYQ==", + "requires": { + "tslib": "^2.0.0" + } + }, + "@ngtools/webpack": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.0.4.tgz", + "integrity": "sha512-+1riOTohRHhN2N8Y+usHFtNz+Rt6q/44puj9rwjlKwWIA+6qxAv3kQhVHivVaU3bCAB9B/3jAxSuZTNHk0wgTg==", + "dev": true + }, + "@nicky-lenaers/ngx-scroll-to": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@nicky-lenaers/ngx-scroll-to/-/ngx-scroll-to-9.0.0.tgz", + "integrity": "sha512-eS0vyx8qX4UTMluRYc+sQF/vJHCnAKiufWrwQRme0VURwp+RdOoZDZpYrOPTxPfx6CVj72arTeV9auDYa0WKtA==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "dev": true, + "requires": { + "semver": "^7.3.5" + } + }, + "@npmcli/git": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.3.tgz", + "integrity": "sha512-8cXNkDIbnXPVbhXMmQ7/bklCAjtmPaXfI9aEM4iH+xSuEHINLMHhlfESvVwdqmHJRJkR48vNJTSUvoF6GRPSFA==", + "dev": true, + "requires": { + "@npmcli/promise-spawn": "^6.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^3.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true + }, + "which": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "@npmcli/installed-package-contents": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.1.tgz", + "integrity": "sha512-GIykAFdOVK31Q1/zAtT5MbxqQL2vyl9mvFJv+OGu01zxbhL3p0xc8gJjdNGX1mWmUT43aEKVO2L6V/2j4TOsAA==", + "dev": true, + "requires": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + } + }, + "@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } + } + }, + "@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "dev": true + }, + "@npmcli/promise-spawn": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", + "dev": true, + "requires": { + "which": "^3.0.0" + }, + "dependencies": { + "which": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "@npmcli/run-script": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.0.tgz", + "integrity": "sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==", + "dev": true, + "requires": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" + }, + "dependencies": { + "which": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "@schematics/angular": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.0.4.tgz", + "integrity": "sha512-4l4WZlr9MnhXo2B7eLczttgkeq8Agm3zfiX0trYkOdYqLtzOKxPiI+RrZSsfIDmmLSE1EillZ3PtDImMzAgQPg==", + "dev": true, + "requires": { + "@angular-devkit/core": "15.0.4", + "@angular-devkit/schematics": "15.0.4", + "jsonc-parser": "3.2.0" + } + }, + "@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, + "@supabase/auth-js": { + "version": "2.65.0", + "resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.65.0.tgz", + "integrity": "sha512-+wboHfZufAE2Y612OsKeVP4rVOeGZzzMLD/Ac3HrTQkkY4qXNjI6Af9gtmxwccE5nFvTiF114FEbIQ1hRq5uUw==", + "requires": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "@supabase/functions-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.4.1.tgz", + "integrity": "sha512-8sZ2ibwHlf+WkHDUZJUXqqmPvWQ3UHN0W30behOJngVh/qHHekhJLCFbh0AjkE9/FqqXtf9eoVvmYgfCLk5tNA==", + "requires": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "@supabase/node-fetch": { + "version": "2.6.15", + "resolved": "https://registry.npmjs.org/@supabase/node-fetch/-/node-fetch-2.6.15.tgz", + "integrity": "sha512-1ibVeYUacxWYi9i0cf5efil6adJ9WRyZBLivgjs+AUpewx1F3xPi7gLgaASI2SmIQxPoCEjAsLAzKPgMJVgOUQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "@supabase/postgrest-js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-1.16.1.tgz", + "integrity": "sha512-EOSEZFm5pPuCPGCmLF1VOCS78DfkSz600PBuvBND/IZmMciJ1pmsS3ss6TkB6UkuvTybYiBh7gKOYyxoEO3USA==", + "requires": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "@supabase/realtime-js": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.10.2.tgz", + "integrity": "sha512-qyCQaNg90HmJstsvr2aJNxK2zgoKh9ZZA8oqb7UT2LCh3mj9zpa3Iwu167AuyNxsxrUE8eEJ2yH6wLCij4EApA==", + "requires": { + "@supabase/node-fetch": "^2.6.14", + "@types/phoenix": "^1.5.4", + "@types/ws": "^8.5.10", + "ws": "^8.14.2" + }, + "dependencies": { + "ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==" + } + } + }, + "@supabase/storage-js": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.7.0.tgz", + "integrity": "sha512-iZenEdO6Mx9iTR6T7wC7sk6KKsoDPLq8rdu5VRy7+JiT1i8fnqfcOr6mfF2Eaqky9VQzhP8zZKQYjzozB65Rig==", + "requires": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "@supabase/supabase-js": { + "version": "2.45.4", + "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.45.4.tgz", + "integrity": "sha512-E5p8/zOLaQ3a462MZnmnz03CrduA5ySH9hZyL03Y+QZLIOO4/Gs8Rdy4ZCKDHsN7x0xdanVEWWFN3pJFQr9/hg==", + "requires": { + "@supabase/auth-js": "2.65.0", + "@supabase/functions-js": "2.4.1", + "@supabase/node-fetch": "2.6.15", + "@supabase/postgrest-js": "1.16.1", + "@supabase/realtime-js": "2.10.2", + "@supabase/storage-js": "2.7.0" + } + }, + "@tailwindcss/line-clamp": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.4.2.tgz", + "integrity": "sha512-HFzAQuqYCjyy/SX9sLGB1lroPzmcnWv1FHkIpmypte10hptf4oPUfucryMKovZh2u0uiS9U5Ty3GghWfEJGwVw==" + }, + "@tailwindcss/typography": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.8.tgz", + "integrity": "sha512-xGQEp8KXN8Sd8m6R4xYmwxghmswrd0cPnNI2Lc6fmrC3OojysTBJJGSIVwPV56q4t6THFUK3HJ0EaWwpglSxWw==", + "requires": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + } + } + }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "@types/aos": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/aos/-/aos-3.0.4.tgz", + "integrity": "sha512-mna6Jd6bdK1NpwarLopGvXOgUoCfj0470IwLxuVOFDElTGI0JTd7xSGQ0AjbAEnHErC/b3fA9t2uB3IXVKmckA==", + "dev": true + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "@types/cors": { + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.4.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "@types/express": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz", + "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.31", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/jasmine": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.1.tgz", + "integrity": "sha512-Vu8l+UGcshYmV1VWwULgnV/2RDbBaO6i2Ptx7nd//oJPIZGhoI1YLST4VKagD2Pq/Bc2/7zvtvhM7F3p4SN7kQ==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "@types/node": { + "version": "18.11.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.16.tgz", + "integrity": "sha512-6T7P5bDkRhqRxrQtwj7vru+bWTpelgtcETAZEUSdq0YISKz8WKdoBukQLYQQ6DFHvU9JRsbFq0JH5C51X2ZdnA==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/phoenix": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.5.tgz", + "integrity": "sha512-xegpDuR+z0UqG9fwHqNoy3rI7JDlvaPh2TY47Fl80oq6g+hXT+c/LEuE43X48clZ6lOfANl5WrPur9fYO1RJ/w==" + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "requires": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/ws": { + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "requires": { + "@types/node": "*" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } + } + }, + "adler-32": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + } + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aos": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/aos/-/aos-2.3.4.tgz", + "integrity": "sha512-zh/ahtR2yME4I51z8IttIt4lC1Nw0ktsFtmeDzID1m9naJnWXhCoARaCgNOGXb5CLy3zm+wqmRAEgMYB5E2HUw==", + "requires": { + "classlist-polyfill": "^1.0.3", + "lodash.debounce": "^4.0.6", + "lodash.throttle": "^4.0.1" + } + }, + "apexcharts": { + "version": "3.36.3", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.36.3.tgz", + "integrity": "sha512-8/FXEs0ohXMff07Gv28XjhPwEJphIUdq2/wii/pcvi54Tw6z1mjrV8ydN8rlWi/ve8BAPBefJkLmRWv7UOBsLw==", + "requires": { + "svg.draggable.js": "^2.2.2", + "svg.easing.js": "^2.0.0", + "svg.filter.js": "^2.0.2", + "svg.pathmorphing.js": "^0.1.3", + "svg.resize.js": "^1.4.3", + "svg.select.js": "^3.0.1" + } + }, + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "babel-loader": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.0.tgz", + "integrity": "sha512-Antt61KJPinUMwHwIIz9T5zfMgevnfZkEVWYDWlG888fgdvRRGD0JTuf/fFozQnfT+uq64sk1bmdHDy/mOEWnA==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.2", + "schema-utils": "^4.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "bonjour-service": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", + "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", + "dev": true, + "requires": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "requires": { + "semver": "^7.0.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cacache": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.2.tgz", + "integrity": "sha512-rYUs2x4OjSgCQND7nTrh21AHIBFgd7s/ctAYvU3a8u+nK+R5YaX/SFPDYz4Azz7SGL6+6L9ZZWI4Kawpb7grzQ==", + "dev": true, + "requires": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001439", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", + "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==", + "dev": true + }, + "cfb": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "requires": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "classlist-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz", + "integrity": "sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ==" + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "codepage": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "requires": { + "is-what": "^3.14.1" + } + }, + "copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dev": true, + "requires": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + } + } + }, + "core-js-compat": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", + "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", + "dev": true, + "requires": { + "browserslist": "^4.21.4" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "countup.js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.3.2.tgz", + "integrity": "sha512-dQ7F/CmKGjaO6cDfhtEXwsKVlXIpJ89dFs8PvkaZH9jBVJ2Z8GU4iwG/qP7MgY8qwr+1skbwR6qecWWQLUzB8Q==" + }, + "crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" + }, + "critters": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "css-select": "^4.2.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "css-loader": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.19", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + } + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true + }, + "date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + } + }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, + "defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "dev": true, + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "requires": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "dom7": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-4.0.4.tgz", + "integrity": "sha512-DSSgBzQ4rJWQp1u6o+3FVwMNnT5bzQbMb+o31TjYYeRi05uAcpF8koxdfzeoe5ElzPmua7W7N28YJhF7iEKqIw==", + "requires": { + "ssr-window": "^4.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "engine.io": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz", + "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==", + "dev": true, + "requires": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3" + } + }, + "engine.io-parser": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", + "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "esbuild": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.13.tgz", + "integrity": "sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ==", + "dev": true, + "optional": true, + "requires": { + "@esbuild/android-arm": "0.15.13", + "@esbuild/linux-loong64": "0.15.13", + "esbuild-android-64": "0.15.13", + "esbuild-android-arm64": "0.15.13", + "esbuild-darwin-64": "0.15.13", + "esbuild-darwin-arm64": "0.15.13", + "esbuild-freebsd-64": "0.15.13", + "esbuild-freebsd-arm64": "0.15.13", + "esbuild-linux-32": "0.15.13", + "esbuild-linux-64": "0.15.13", + "esbuild-linux-arm": "0.15.13", + "esbuild-linux-arm64": "0.15.13", + "esbuild-linux-mips64le": "0.15.13", + "esbuild-linux-ppc64le": "0.15.13", + "esbuild-linux-riscv64": "0.15.13", + "esbuild-linux-s390x": "0.15.13", + "esbuild-netbsd-64": "0.15.13", + "esbuild-openbsd-64": "0.15.13", + "esbuild-sunos-64": "0.15.13", + "esbuild-windows-32": "0.15.13", + "esbuild-windows-64": "0.15.13", + "esbuild-windows-arm64": "0.15.13" + } + }, + "esbuild-android-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.13.tgz", + "integrity": "sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g==", + "dev": true, + "optional": true + }, + "esbuild-android-arm64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.13.tgz", + "integrity": "sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w==", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.13.tgz", + "integrity": "sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg==", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.13.tgz", + "integrity": "sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.13.tgz", + "integrity": "sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.13.tgz", + "integrity": "sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q==", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.13.tgz", + "integrity": "sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w==", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.13.tgz", + "integrity": "sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.13.tgz", + "integrity": "sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.13.tgz", + "integrity": "sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.13.tgz", + "integrity": "sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A==", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.13.tgz", + "integrity": "sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA==", + "dev": true, + "optional": true + }, + "esbuild-linux-riscv64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.13.tgz", + "integrity": "sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow==", + "dev": true, + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.13.tgz", + "integrity": "sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag==", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.13.tgz", + "integrity": "sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ==", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.13.tgz", + "integrity": "sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w==", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz", + "integrity": "sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw==", + "dev": true, + "optional": true + }, + "esbuild-wasm": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.15.13.tgz", + "integrity": "sha512-0am8fvHKACwofWQxtZLTMv4mDiDwUrdt0DyRaQ2r7YWIpkmpg4GWYy0EyW+gPjiPHzkZKqN9d3UYsZGgvaAASw==", + "dev": true + }, + "esbuild-windows-32": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.13.tgz", + "integrity": "sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA==", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.13.tgz", + "integrity": "sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ==", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.15.13", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz", + "integrity": "sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg==", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fastq": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "13.1.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", + "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", + "dev": true, + "requires": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", + "dev": true, + "requires": { + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" + } + }, + "hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "dev": true + }, + "hosted-git-info": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "dev": true, + "requires": { + "lru-cache": "^7.5.1" + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "dependencies": { + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", + "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", + "dev": true + }, + "ignore-walk": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.0.tgz", + "integrity": "sha512-bTf9UWe/UP1yxG3QUrj/KOvEhTAUWPcv+WvbFZ28LcqznXabp7Xu6o9y1JEC18+oqODuS7VhTpekV5XvFwsxJg==", + "dev": true, + "requires": { + "minimatch": "^5.0.1" + } + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true + }, + "immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", + "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", + "dev": true + }, + "inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true + }, + "ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jasmine-core": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.5.0.tgz", + "integrity": "sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "json5": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz", + "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==", + "dev": true + }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true + }, + "karma": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz", + "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==", + "dev": true, + "requires": { + "@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.4.1", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "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" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } + }, + "karma-chrome-launcher": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz", + "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==", + "dev": true, + "requires": { + "which": "^1.2.1" + } + }, + "karma-coverage": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.0.tgz", + "integrity": "sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "dev": true, + "requires": { + "jasmine-core": "^4.1.0" + } + }, + "karma-jasmine-html-reporter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.0.0.tgz", + "integrity": "sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA==", + "dev": true + }, + "karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "requires": { + "source-map-support": "^0.5.5" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true + }, + "less": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "less-loader": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", + "dev": true, + "requires": { + "klona": "^2.0.4" + } + }, + "license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dev": true, + "requires": { + "webpack-sources": "^3.0.0" + } + }, + "lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "log4js": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.7.1.tgz", + "integrity": "sha512-lzbd0Eq1HRdWM2abSD7mk6YIVY0AogGJzb/z+lqzRk+8+XJP+M6L1MS5FUSc3jjGru4dbKjEMJmqlsoYYpuivQ==", + "dev": true, + "requires": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.3" + } + }, + "lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true + }, + "magic-string": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz", + "integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "dependencies": { + "@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "requires": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + } + }, + "cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, + "requires": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "requires": { + "unique-slug": "^3.0.0" + } + }, + "unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + } + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true + }, + "memfs": { + "version": "3.4.12", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.12.tgz", + "integrity": "sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw==", + "dev": true, + "requires": { + "fs-monkey": "^1.0.3" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", + "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", + "dev": true, + "requires": { + "schema-utils": "^4.0.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true + }, + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "requires": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true + }, + "needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "ng-apexcharts": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/ng-apexcharts/-/ng-apexcharts-1.7.4.tgz", + "integrity": "sha512-XpykR8qos14i2ly/QrmGkQIUQfqaZAe2+7tDg5An1akws3VwYg6O643g9LwdTIG3YeWlkKtt4zxYJpEJF3uLUg==", + "requires": { + "tslib": "^2.0.0" + } + }, + "ng-particles": { + "version": "2.43.1", + "resolved": "https://registry.npmjs.org/ng-particles/-/ng-particles-2.43.1.tgz", + "integrity": "sha512-grjvp8G58ULRdaF+ANFl1EQiRdtV5UhopR6yVt13tvqaQWj8E35xhsCQZMtNvFOm+UMz4ucMhSQk0Ho/lovk7g==", + "requires": { + "tslib": "^2.3.0" + } + }, + "ngx-countup": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/ngx-countup/-/ngx-countup-13.1.0.tgz", + "integrity": "sha512-5U1heict3J3F+MTvwhEM3w/j9JuSp4Jqm530yrIzZtQC4huOPCTyZ4ZwBhGk+ZkBkb8HOCcm1xXu90/sydt0Qg==", + "requires": { + "countup.js": "^2.3.2", + "tslib": "^2.0.0" + } + }, + "ngx-lightbox": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/ngx-lightbox/-/ngx-lightbox-2.4.1.tgz", + "integrity": "sha512-5r+PA+6Ep3PPAx22SDC6HSX/qHrVLade67hkEnJG2ZId9MkarPyFaUq5bIvS6+dXsEyckF0d+yH1fI8D6YWAvQ==" + }, + "ngx-owl-carousel-o": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/ngx-owl-carousel-o/-/ngx-owl-carousel-o-5.1.1.tgz", + "integrity": "sha512-AmaU02UzONGrBSj4K28ZWEZxLYySyiC7Vefq4VacjAhYxUR+HA9jdQghG4zM+QlVPkmgFdZeepeqZ3/h9fU3ug==", + "requires": { + "tslib": "^2.0.0" + } + }, + "ngx-typed-js": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ngx-typed-js/-/ngx-typed-js-2.1.1.tgz", + "integrity": "sha512-j/S5SdYy+Wjw+ad6OEfgk3QfucdqgS48XmKv34k0QII2MyRSwYvMxJ9ax60WdwRQCAG0xmu67FAN8tww7XwTEQ==", + "requires": { + "tslib": "^2.3.0", + "typed.js": "^2.0.12" + } + }, + "nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "optional": true, + "requires": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "optional": true + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true + }, + "node-gyp": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.0.tgz", + "integrity": "sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q==", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "node-gyp-build": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "dev": true, + "optional": true + }, + "node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true + }, + "nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "requires": { + "abbrev": "^1.0.0" + } + }, + "normalize-package-data": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", + "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", + "dev": true, + "requires": { + "hosted-git-info": "^6.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "dependencies": { + "hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "requires": { + "lru-cache": "^7.5.1" + } + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, + "npm-bundled": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", + "dev": true, + "requires": { + "npm-normalize-package-bin": "^3.0.0" + } + }, + "npm-install-checks": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.0.0.tgz", + "integrity": "sha512-SBU9oFglRVZnfElwAtF14NivyulDqF1VKqqwNsFW9HDcbHMAPHpRSsVFgKuwFGq/hVvWZExz62Th0kvxn/XE7Q==", + "dev": true, + "requires": { + "semver": "^7.1.1" + } + }, + "npm-normalize-package-bin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz", + "integrity": "sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==", + "dev": true + }, + "npm-package-arg": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", + "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", + "dev": true, + "requires": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + } + }, + "npm-packlist": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", + "dev": true, + "requires": { + "ignore-walk": "^6.0.0" + } + }, + "npm-pick-manifest": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", + "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", + "dev": true, + "requires": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", + "semver": "^7.3.5" + }, + "dependencies": { + "hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "requires": { + "lru-cache": "^7.5.1" + } + }, + "npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", + "dev": true, + "requires": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + } + }, + "proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true + }, + "validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dev": true, + "requires": { + "builtins": "^5.0.0" + } + } + } + }, + "npm-registry-fetch": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz", + "integrity": "sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==", + "dev": true, + "requires": { + "make-fetch-happen": "^11.0.0", + "minipass": "^4.0.0", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "requires": { + "lru-cache": "^7.5.1" + } + }, + "make-fetch-happen": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz", + "integrity": "sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w==", + "dev": true, + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + } + }, + "minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz", + "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==", + "dev": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^4.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + }, + "npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", + "dev": true, + "requires": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + } + }, + "proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true + }, + "validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dev": true, + "requires": { + "builtins": "^5.0.0" + } + } + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "or": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/or/-/or-0.2.0.tgz", + "integrity": "sha512-BHB8VZq2isxkyRaCBZ6CZCbQBzCT+gy8LPiqdbMH1+Fd6biFj3v8ebjeYzzL51PbsApsPYnGegGTO6KLQMxxDw==" + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "dependencies": { + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true + } + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pacote": { + "version": "15.0.6", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.0.6.tgz", + "integrity": "sha512-dQwcz/sME7QIL+cdrw/jftQfMMXxSo17i2kJ/gnhBhUvvBAsxoBu1lw9B5IzCH/Ce8CvEkG/QYZ6txzKfn0bTw==", + "dev": true, + "requires": { + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^2.1.0", + "minipass": "^3.1.6", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "dependencies": { + "hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "requires": { + "lru-cache": "^7.5.1" + } + }, + "npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", + "dev": true, + "requires": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + } + }, + "proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true + }, + "validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dev": true, + "requires": { + "builtins": "^5.0.0" + } + } + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", + "dev": true, + "requires": { + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + } + }, + "parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true + }, + "piscina": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", + "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", + "dev": true, + "requires": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0", + "nice-napi": "^1.0.2" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "postcss": { + "version": "8.4.20", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", + "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", + "dev": true, + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-loader": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.1.tgz", + "integrity": "sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.7" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "prettier": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", + "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", + "dev": true + }, + "prettier-plugin-tailwindcss": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.2.1.tgz", + "integrity": "sha512-aIO8IguumORyRsmT+E7JfJ3A9FEoyhqZR7Au7TBOege3VZkgMvHJMkufeYp4zjnDK2iq4ktkvGMNOQR9T8lisQ==", + "dev": true + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + } + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "requires": { + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + }, + "read-package-json": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.0.tgz", + "integrity": "sha512-b/9jxWJ8EwogJPpv99ma+QwtqB7FSl3+V6UXS7Aaay8/5VwMY50oIFooY1UKXMWpfNCM6T/PoGqa5GD1g9xf9w==", + "dev": true, + "requires": { + "glob": "^8.0.1", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "dependencies": { + "json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true + } + } + }, + "read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "dev": true, + "requires": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "dependencies": { + "json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true + } + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "dev": true, + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", + "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass": { + "version": "1.56.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.56.1.tgz", + "integrity": "sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.0.tgz", + "integrity": "sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "dev": true, + "requires": { + "node-forge": "^1" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true + }, + "socket.io": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.4.tgz", + "integrity": "sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.2.1", + "socket.io-adapter": "~2.4.0", + "socket.io-parser": "~4.2.1" + } + }, + "socket.io-adapter": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", + "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==", + "dev": true + }, + "socket.io-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", + "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", + "dev": true, + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + } + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dev": true, + "requires": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "source-map-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", + "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", + "dev": true, + "requires": { + "abab": "^2.0.6", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "ssf": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "requires": { + "frac": "~1.1.2" + } + }, + "ssr-window": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-4.0.2.tgz", + "integrity": "sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ==" + }, + "ssri": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", + "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", + "dev": true, + "requires": { + "minipass": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + }, + "streamroller": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.3.tgz", + "integrity": "sha512-CphIJyFx2SALGHeINanjFRKQ4l7x2c+rXYJ4BMq0gd+ZK0gi4VT8b+eHe2wi58x4UayBAKx4xtHpXT/ea1cz8w==", + "dev": true, + "requires": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svg.draggable.js": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz", + "integrity": "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==", + "requires": { + "svg.js": "^2.0.1" + } + }, + "svg.easing.js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz", + "integrity": "sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==", + "requires": { + "svg.js": ">=2.3.x" + } + }, + "svg.filter.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz", + "integrity": "sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==", + "requires": { + "svg.js": "^2.2.5" + } + }, + "svg.js": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz", + "integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==" + }, + "svg.pathmorphing.js": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz", + "integrity": "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==", + "requires": { + "svg.js": "^2.4.0" + } + }, + "svg.resize.js": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz", + "integrity": "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==", + "requires": { + "svg.js": "^2.6.5", + "svg.select.js": "^2.1.2" + }, + "dependencies": { + "svg.select.js": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz", + "integrity": "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==", + "requires": { + "svg.js": "^2.2.5" + } + } + } + }, + "svg.select.js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz", + "integrity": "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==", + "requires": { + "svg.js": "^2.6.5" + } + }, + "swiper": { + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-8.4.5.tgz", + "integrity": "sha512-zveyEFBBv4q1sVkbJHnuH4xCtarKieavJ4SxP0QEHvdpPLJRuD7j/Xg38IVVLbp7Db6qrPsLUePvxohYx39Agw==", + "requires": { + "dom7": "^4.0.4", + "ssr-window": "^4.0.2" + } + }, + "symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true + }, + "tailwindcss": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz", + "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==", + "dev": true, + "requires": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.18", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "dependencies": { + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "tar": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^4.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } + } + }, + "terser": { + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", + "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + }, + "tsparticles": { + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/tsparticles/-/tsparticles-1.43.1.tgz", + "integrity": "sha512-6EuHncwqzoyTlUxc11YH8LVlwVUgpYaZD0yMOeA2OvRqFZ9VQV8EjjQ6ZfXt6pfGA1ObPwU929jveFatxwTQkg==" + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true + }, + "typed.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/typed.js/-/typed.js-2.1.0.tgz", + "integrity": "sha512-bDuXEf7YcaKN4g08NMTUM6G90XU25CK3bh6U0THC/Mod/QPKlEt9g/EjvbYB8x2Qwr2p6J6I3NrsoYaVnY6wsQ==" + }, + "typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", + "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, + "unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "requires": { + "unique-slug": "^4.0.0" + } + }, + "unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "dev": true, + "requires": { + "builtins": "^5.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "webpack": { + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + } + }, + "webpack-dev-server": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", + "dev": true, + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.1", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" + }, + "dependencies": { + "ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dev": true, + "requires": { + "typed-assert": "^1.0.8" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" + }, + "word": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==" + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "dev": true + }, + "xlsx": { + "version": "0.18.5", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz", + "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", + "requires": { + "adler-32": "~1.3.0", + "cfb": "~1.2.1", + "codepage": "~1.15.0", + "crc-32": "~1.2.1", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + }, + "zone.js": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.12.0.tgz", + "integrity": "sha512-XtC+I5dXU14HrzidAKBNMqneIVUykLEAA1x+v4KVrd6AUPWlwYORF8KgsVqvgdHiKZ4BkxxjvYi/ksEixTPR0Q==", + "requires": { + "tslib": "^2.3.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..d2438be --- /dev/null +++ b/package.json @@ -0,0 +1,62 @@ +{ + "name": "plurk-angular", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve --open --watch", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "^15.0.0", + "@angular/common": "^15.0.0", + "@angular/compiler": "^15.0.0", + "@angular/core": "^15.0.0", + "@angular/forms": "^15.0.0", + "@angular/platform-browser": "^15.0.0", + "@angular/platform-browser-dynamic": "^15.0.0", + "@angular/router": "^15.0.0", + "@ngrx/store": "^15.0.0", + "@nicky-lenaers/ngx-scroll-to": "^9.0.0", + "@supabase/supabase-js": "^2.36.0", + "@tailwindcss/line-clamp": "^0.4.2", + "@tailwindcss/typography": "^0.5.8", + "aos": "^2.3.4", + "apexcharts": "^3.36.3", + "file-saver": "^2.0.5", + "ng-apexcharts": "^1.7.4", + "ng-particles": "^2.1.11", + "ngx-countup": "^13.1.0", + "ngx-lightbox": "^2.4.1", + "ngx-owl-carousel-o": "^5.0.0", + "ngx-typed-js": "^2.0.2", + "or": "^0.2.0", + "rxjs": "~7.5.0", + "swiper": "^8.4.5", + "tslib": "^2.3.0", + "tsparticles": "^1.18.11", + "xlsx": "^0.18.5", + "zone.js": "~0.12.0" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^15.0.4", + "@angular/cli": "~15.0.4", + "@angular/compiler-cli": "^15.0.0", + "@types/aos": "^3.0.4", + "@types/jasmine": "~4.3.0", + "autoprefixer": "^10.4.13", + "jasmine-core": "~4.5.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.0.0", + "postcss": "^8.4.20", + "prettier": "^2.8.1", + "prettier-plugin-tailwindcss": "^0.2.1", + "tailwindcss": "^3.2.4", + "typescript": "~4.8.2" + } +} diff --git a/src/app/about-us.html b/src/app/about-us.html new file mode 100644 index 0000000..27db6d9 --- /dev/null +++ b/src/app/about-us.html @@ -0,0 +1,1136 @@ +
+
+
+
+
+
+
About Us
+

About Plurk Technologies

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+ +
+ +
+
+
+
+
Who are we?
+

We thrive to help our clients have global impact

+
+

+ In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface + without relying on meaningful content. Lorem ipsum may be used as a placeholder before final copy is available. +

+ Join Our Team +
+
+
+ about-who-bg +
+
+ +
+
+ +
+
+
+
How it works?
+

Here are 3 working steps to organize our business projects.

+
+

+ Find out everything you need to know and more about how we create our business process models. +

+
+
+
+
+ 01 +
+
Collect Ideas
+

The generated Lorem Ipsum is therefore always free from repetition.

+
+
+
+
+
+ 02 +
+
Data Analysis
+

There are many variations of passages of Lorem Ipsum available

+
+
+
+
+
+ 03 +
+
Finalize Product
+

Contrary to popular belief, Lorem Ipsum is not simply random text

+
+
+
+
+
+
+ +
+
+
+
Growth
+

140% Growth in last year

+
+
+
+
+
+

90%

+

+ Clients saw an increase of more of 90% on sales1 +

+
+
+
+
+
+
+

10x

+

+ Sales went up more than expected +

+
+
+
+
+
+
+

4.4M

+

+ High engagement rate since day one +

+
+
+
+
+
+
+ +
+
+
+

Our Awards

+

+ As the world's leading web & mobile app development company have been privileged to win + 13+ numerous awards for our working process. We’re honored to be a recipient + of each of these awards for our hard work & customers loyalty. +

+
+
+
+
+ award +
+
+
+
+ award +
+
+
+
+ award +
+
+
+
+ award +
+
+
+
+ award +
+
+
+
+ award +
+
+
+
+ award +
+
+
+
+ award +
+
+
+
+
+ +
+
+
+
Meet Our Team
+

Creative Minds

+
+
+
+
+ team-member-1 +
+

Aditya Patel

+
Chief Executive Officer
+
+
+
+ team-member-2 +
+

+ Audrey Ramirez +

+
Chief Operating Officer
+
+
+
+ team-member-3 +
+

+ James Robinson +

+
Chief Financial Officer
+
+
+
+ team-member-4 +
+

Daniel Allen

+
Chief Marketing Officer
+
+
+
+
+ + + + + +
+
+
+
+ stay-text + updated-text +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ Enter your email address to register to our newsletter subscription delivered on a regular basis! +

+
+
+ + +
+
+
+
+
+ + + +
+
+
diff --git a/src/app/about-us.ts b/src/app/about-us.ts new file mode 100644 index 0000000..794b76e --- /dev/null +++ b/src/app/about-us.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './about-us.html', +}) +export class AboutUsComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts new file mode 100644 index 0000000..7c44b2c --- /dev/null +++ b/src/app/app-routing.module.ts @@ -0,0 +1,105 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +import { IndexComponent } from './index'; +import { ErrorComponent } from './error'; +import { PortfolioComponent } from './portfolio'; +import { PortfolioDetailComponent } from './portfolio-detail'; +import { ServicesComponent } from './services'; +import { ServicesDetailComponent } from './services-detail'; +import { TeamComponent } from './team'; +import { AboutUsComponent } from './about-us'; +import { CareerComponent } from './career'; +import { ContactUsComponent } from './contact-us'; +import { TermsConditionsComponent } from './terms-conditions'; +import { PrivacyPolicyComponent } from './privacy-policy'; +import { FaqComponent } from './faq'; +import { BlogComponent } from './blog'; +import { BlogDetailsComponent } from './blog-details'; +import { CryptoComponent } from './crypto'; +import { RealEstateComponent } from './real-estate'; +import { ModernSaasComponent } from './modern-saas'; +import { HealthcareComponent } from './healthcare'; +import { HotelResortComponent } from './hotel-resort'; +import { MarketingComponent } from './marketing'; +import { ApplicationComponent } from './application'; +import { NftComponent } from './nft'; +import { BlogLandingComponent } from './blog-landing'; +import { ConstructionComponent } from './construction'; +import { ConsultingComponent } from './consulting'; +import { CreativeComponent } from './creative-agency'; +import { EventComponent } from './event-concert'; +import { GymComponent } from './gym'; +import { InsuranceComponent } from './insurance'; +import { JobPlacementComponent } from './job-placement'; +import { OnlineCoursesComponent } from './online-courses'; +import { OnlinePaymentsComponent } from './online-payments'; +import { PersonalPortfolioComponent } from './personal-portfolio'; +import { RestaurantComponent } from './restaurant'; +import { PortfolioLandingComponent } from './portfolio-landing'; +import { PhotographyComponent } from './photography'; +import { RootComponent } from './root/root.component'; +import { RootContactUsComponent } from './root-contact-us/root-contact-us.component'; +import { RootBlogComponent } from './root-blog/root-blog.component'; +import { RootBlogDetailsComponent } from './root-blog-details/root-blog-details.component'; +import { StaffComponent } from './staff/staff.component'; +import { RootEventComponent } from './root-event/root-event.component'; +import { RootAboutUsComponent } from './root-about-us/root-about-us.component'; + +const routes: Routes = [ + { path: '', component: RootComponent, title: 'cmc - home' }, + { path: 'contactUs', component: RootContactUsComponent, title: 'cmc - home' }, + { path: 'aboutUs', component: RootAboutUsComponent, title: 'cmc - home' }, + { path: 'blogs', component: RootBlogComponent, title: 'cmc - home' }, + { path: 'root-events', component: RootEventComponent, title: 'cmc - home' }, + { path: 'staff', component: StaffComponent, title: 'cmc - home' }, + { path: 'root-blog-details/:id', component: RootBlogDetailsComponent, title: 'cmc - home' }, + + // { + // path: 'pa', + // loadChildren: () => import('./pages/pages.module').then((m) => m.PagesModule), + // }, + // { path: 'index', component: IndexComponent, title: 'Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'portfolio', component: PortfolioComponent, title: 'Portfolio | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'portfolio-detail', component: PortfolioDetailComponent, title: 'Portfolio Detail | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'services', component: ServicesComponent, title: 'Services | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'services-detail', component: ServicesDetailComponent, title: 'Services Detail | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'team', component: TeamComponent, title: 'Team | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'about-us', component: AboutUsComponent, title: 'About Us | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'career', component: CareerComponent, title: 'Career | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'contact-us', component: ContactUsComponent, title: 'Contact Us | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'terms-conditions', component: TermsConditionsComponent, title: 'Terms Conditions | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'privacy-policy', component: PrivacyPolicyComponent, title: 'Privacy Policy | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'faq', component: FaqComponent, title: 'FAQs | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'blog', component: BlogComponent, title: 'Blog | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'blog-details', component: BlogDetailsComponent, title: 'Blog Details | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'crypto', component: CryptoComponent, title: 'Crypto | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'real-estate', component: RealEstateComponent, title: 'Real Estate | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'modern-saas', component: ModernSaasComponent, title: 'Modern SAAS | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'healthcare', component: HealthcareComponent, title: 'Health Care | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'hotel-resort', component: HotelResortComponent, title: 'Hotel & Resort | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'marketing', component: MarketingComponent, title: 'Marketing | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'application', component: ApplicationComponent, title: 'Application | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'nft', component: NftComponent, title: 'Nft | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'blog-landing', component: BlogLandingComponent, title: 'Blog | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'construction', component: ConstructionComponent, title: 'Construction | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'consulting', component: ConsultingComponent, title: 'Consulting | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'creative-agency', component: CreativeComponent, title: 'Creative Agency | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'event-concert', component: EventComponent, title: 'Event Concert | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'gym', component: GymComponent, title: 'GYM | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'insurance', component: InsuranceComponent, title: 'Insurance | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'job-placement', component: JobPlacementComponent, title: 'Job Placement | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'online-courses', component: OnlineCoursesComponent, title: 'Online Courses | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'online-payments', component: OnlinePaymentsComponent, title: 'Online Payments | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'personal-portfolio', component: PersonalPortfolioComponent, title: 'Personal Portfolio | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'restaurant', component: RestaurantComponent, title: 'Restaurant | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'portfolio-landing', component: PortfolioLandingComponent, title: 'Portfolio Landing | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + // { path: 'photography', component: PhotographyComponent, title: 'Photography | Plurk – Tailwind CSS Multipurpose Landing Templates' }, + { path: '**', component: ErrorComponent }, +]; + +@NgModule({ + imports: [RouterModule.forRoot(routes, { scrollPositionRestoration: 'enabled' })], + exports: [RouterModule], +}) +export class AppRoutingModule {} diff --git a/src/app/app.component.html b/src/app/app.component.html new file mode 100644 index 0000000..eb1d43e --- /dev/null +++ b/src/app/app.component.html @@ -0,0 +1,44 @@ +
+ +
+ + + + + + + + + + +
+ +
+ +
+ +
+ +
+
+ + + +
\ No newline at end of file diff --git a/src/app/app.component.ts b/src/app/app.component.ts new file mode 100644 index 0000000..a1dc4d7 --- /dev/null +++ b/src/app/app.component.ts @@ -0,0 +1,53 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; +import { AppService } from './service/app.service'; +import * as AOS from 'aos'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', +}) +export class AppComponent { + storeData: any; + showTopButton = false; + constructor(public store: Store, private service: AppService) { + this.initStore(); + } + headerClass = ''; + ngOnInit() { + window.addEventListener('scroll', () => { + if (document.body.scrollTop > 50 || document.documentElement.scrollTop > 50) { + this.showTopButton = true; + this.headerClass = 'sticky-header'; + } else { + this.showTopButton = false; + this.headerClass = ''; + } + }); + + // aos animation + AOS.init({ + once: true, + }); + + // main loader + this.store.dispatch({ type: 'toggleMainLoader', payload: false }); + } + + ngOnDestroy() { + window.removeEventListener('scroll', () => {}); + } + + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } + + scrollToTop() { + document.body.scrollTop = 0; + document.documentElement.scrollTop = 0; + } +} diff --git a/src/app/app.module.ts b/src/app/app.module.ts new file mode 100644 index 0000000..2cf085b --- /dev/null +++ b/src/app/app.module.ts @@ -0,0 +1,167 @@ +import { NgModule } from '@angular/core'; +import { BrowserModule, Title } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { CommonModule } from '@angular/common'; + +//swiper +import { SwiperModule } from 'swiper/angular'; + +// counter +import { CountUpModule } from 'ngx-countup'; + +// lightbox +import { LightboxModule } from 'ngx-lightbox'; + +// apexchart +import { NgApexchartsModule } from 'ng-apexcharts'; + +// store +import { StoreModule } from '@ngrx/store'; +import { indexReducer } from './store/index.reducer'; + +// service +import { AppService } from './service/app.service'; + +import { AppRoutingModule } from './app-routing.module'; +import { AppComponent } from './app.component'; + +//Layout +import { HeaderComponent } from './layout/header'; +import { FooterComponent } from './layout/footer'; +import { ErrorComponent } from './error'; + +//components +import { IndexComponent } from './index'; +import { PortfolioComponent } from './portfolio'; +import { PortfolioDetailComponent } from './portfolio-detail'; +import { ContactusComponent } from './components/contactus-component'; +import { ServicesComponent } from './services'; +import { ModalDialog } from './components/modal-dialog'; +import { ServicesDetailComponent } from './services-detail'; +import { TeamComponent } from './team'; +import { AboutUsComponent } from './about-us'; +import { CareerComponent } from './career'; +import { ContactUsComponent } from './contact-us'; +import { TermsConditionsComponent } from './terms-conditions'; +import { PrivacyPolicyComponent } from './privacy-policy'; +import { FaqComponent } from './faq'; +import { BlogComponent } from './blog'; +import { BlogDetailsComponent } from './blog-details'; +import { TestimonialComponent } from './components/testimonial'; +import { BlogSliderComponent } from './components/blog-slider'; +import { OfficeSwiperComponent } from './components/office-swiper'; +import { ProjectSliderComponent } from './components/project-slider'; +import { CounterComponent } from './components/counter'; +import { FaqAccordionComponent } from './components/faq-component'; +import { CryptoComponent } from './crypto'; +import { RealEstateComponent } from './real-estate'; +import { ModernSaasComponent } from './modern-saas'; +import { LogoSliderComponent } from './components/logo-slider'; +import { HealthcareComponent } from './healthcare'; +import { HotelResortComponent } from './hotel-resort'; +import { MarketingComponent } from './marketing'; +import { ClientSliderComponent } from './components/client-slider'; +import { ApplicationComponent } from './application'; +import { NftComponent } from './nft'; +import { BlogLandingComponent } from './blog-landing'; +import { ConstructionComponent } from './construction'; +import { ConsultingComponent } from './consulting'; +import { CreativeComponent } from './creative-agency'; +import { EventComponent } from './event-concert'; +import { GymComponent } from './gym'; +import { InsuranceComponent } from './insurance'; +import { JobPlacementComponent } from './job-placement'; +import { OnlineCoursesComponent } from './online-courses'; +import { OnlinePaymentsComponent } from './online-payments'; +import { PersonalPortfolioComponent } from './personal-portfolio'; +import { RestaurantComponent } from './restaurant'; +import { PortfolioLandingComponent } from './portfolio-landing'; +import { PhotographyComponent } from './photography'; +import { HttpClientModule } from '@angular/common/http'; +import { RootComponent } from './root/root.component'; +import { RootContactUsComponent } from './root-contact-us/root-contact-us.component'; +import { RootBlogComponent } from './root-blog/root-blog.component'; +import { RootBlogDetailsComponent } from './root-blog-details/root-blog-details.component'; +import { StaffComponent } from './staff/staff.component'; +import { RootEventComponent } from './root-event/root-event.component'; +import { RootEventDetailsComponent } from './root-event-details/root-event-details.component'; +import { RootAboutUsComponent } from './root-about-us/root-about-us.component'; + +@NgModule({ + declarations: [ + ModalDialog, + AppComponent, + HeaderComponent, + FooterComponent, + ErrorComponent, + IndexComponent, + PortfolioComponent, + PortfolioDetailComponent, + ContactusComponent, + ServicesComponent, + ServicesDetailComponent, + TeamComponent, + AboutUsComponent, + CareerComponent, + ContactUsComponent, + TermsConditionsComponent, + PrivacyPolicyComponent, + FaqComponent, + BlogComponent, + BlogDetailsComponent, + TestimonialComponent, + BlogSliderComponent, + OfficeSwiperComponent, + ProjectSliderComponent, + CounterComponent, + FaqAccordionComponent, + CryptoComponent, + RealEstateComponent, + ModernSaasComponent, + LogoSliderComponent, + HealthcareComponent, + HotelResortComponent, + MarketingComponent, + ClientSliderComponent, + ApplicationComponent, + NftComponent, + BlogLandingComponent, + ConstructionComponent, + ConsultingComponent, + CreativeComponent, + EventComponent, + GymComponent, + InsuranceComponent, + JobPlacementComponent, + OnlineCoursesComponent, + OnlinePaymentsComponent, + PersonalPortfolioComponent, + RestaurantComponent, + PortfolioLandingComponent, + PhotographyComponent, + RootComponent, + RootContactUsComponent, + RootBlogComponent, + RootBlogDetailsComponent, + StaffComponent, + RootEventComponent, + RootEventDetailsComponent, + RootAboutUsComponent + ], + imports: [ + HttpClientModule, + + BrowserModule, + BrowserAnimationsModule, + CommonModule, + AppRoutingModule, + SwiperModule, + CountUpModule, + LightboxModule, + NgApexchartsModule, + StoreModule.forRoot({ index: indexReducer }), + ], + providers: [AppService, Title], + bootstrap: [AppComponent], +}) +export class AppModule {} diff --git a/src/app/application.html b/src/app/application.html new file mode 100644 index 0000000..02e45ab --- /dev/null +++ b/src/app/application.html @@ -0,0 +1,1237 @@ +
+
+
+ +
+
+

a place where

+

+ ideas grow +

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+

High-impact marketing services to grow your startup

+

+ It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. +

+
+
+
+ + + + + + +

Email Marketing

+

We provide services with the best designs than our designer team for your business.

+
+
+
+ + + + + + + + + + + +

Paid Advertising

+

We help develop company websites to be more professional and attractive

+
+
+
+
+ + + + + + + +

SEO

+

We help develop company websites to be more professional and attractive

+
+
+
+ + + + + +

Funnel Optimization

+

We provide services with the best designs than our designer team for your business.

+
+
+
+ + + + + + + + +

Content Marketing

+

We help develop company websites to be more professional and attractive

+
+
+
+
+ + + + + + + +

Social Media Marketing

+

We help develop company websites to be more professional and attractive

+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+

Experience your product as you create it.

+

+ It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. +

+
+
+
+ + + + + + + + + + +
Secure
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit

+
+
+ + + + + + +
Lightning-fast
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit

+
+
+ + + + + + + + + +
Accessible
+

There are many variations of passages of Lorem Ipsum available

+
+
+ + + + + + + + + + +
Intuitive
+

Contrary to popular belief, Lorem Ipsum is not simply random text.

+
+
+
+
+
+
+ +
+
+
+
+
+ {{0}} +
+

Active Users

+
+
+
+ {{0}} +
+

Countries and Regions

+
+
+
+ {{0}} +
+

Social Media Followers

+
+
+
+
+ {{0}} +
+ + + + + +
+

173M Reviews

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + +
+

Awesome features

+
+ It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. +
+ + + + + + + + + + + +
+
+ +
+
+
+ + + + + + + + + + + + + +

Privacy Protection

+

+ With our ground-breaking technology, you can make storage feel like a hard drive. +

+
+
+
+ + + + + +

Unlock the world

+

+ Make your cloud storage feeled like and physical hard drive with our revolutionary. +

+
+
+
+ + + + + + +

Secure Data

+

With the use of our innovative technologies, storage can simulate a hard disk.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+
+
+

Pricing plan

+
Choose affordable prices
+
+
+
+
+

Standard

+
+
    +
  • +
    + + + + +
    +

    Daily content updates

    +
  • +
  • +
    + + + + +
    +

    Unlimited downloads of FREE resources

    +
  • +
  • +
    + + + + +
    +

    Unlimited PREMIUM downloads

    +
  • +
  • +
    + + + + +
    +

    Valid commercial licenses

    +
  • +
  • +
    + + + + + + +
    +

    Advanced Search

    +
  • +
  • +
    + + + + + + +
    +

    No attribution required

    +
  • +
  • +
    + + + + + + +
    +

    Browse with no ads

    +
  • +
+
+ +
+
+
+
+

Premium

+

MOST POPULAR

+
+
    +
  • +
    + + + + +
    +

    Daily content updates

    +
  • +
  • +
    + + + + +
    +

    Unlimited downloads of FREE resources

    +
  • +
  • +
    + + + + +
    +

    Unlimited PREMIUM downloads

    +
  • +
  • +
    + + + + +
    +

    Valid commercial licenses

    +
  • +
  • +
    + + + + +
    +

    Advanced Search

    +
  • +
  • +
    + + + + +
    +

    No attribution required

    +
  • +
  • +
    + + + + +
    +

    Browse with no ads

    +
  • +
+
+ +
+
+
+
+

Deluxe

+
+
    +
  • +
    + + + + +
    +

    Daily content updates

    +
  • +
  • +
    + + + + +
    +

    Unlimited downloads of FREE resources

    +
  • +
  • +
    + + + + +
    +

    Unlimited PREMIUM downloads

    +
  • +
  • +
    + + + + +
    +

    Valid commercial licenses

    +
  • +
  • +
    + + + + +
    +

    Advanced Search

    +
  • +
  • +
    + + + + +
    +

    No attribution required

    +
  • +
  • +
    + + + + +
    +

    Browse with no ads

    +
  • +
+
+
+ $499 +
+
+
+
+
+
+ +
+
+
+
+
+ +

+ Available for your Smartphones +

+

+ Search all the open positions on the web. Get your own personalized salary estimate. +

+
+ + +
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+

+ What our customers are saying us? +

+

+ lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas varius tortor nibh. +

+
+
+

13M +

+

happy people

+
+
+

4.88

+

overall rating

+ + + + + + + + + +
+
+
+
+ +
+
+
+
+
+ +
+ +
+
diff --git a/src/app/application.ts b/src/app/application.ts new file mode 100644 index 0000000..117813f --- /dev/null +++ b/src/app/application.ts @@ -0,0 +1,37 @@ +import { Component } from '@angular/core'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay } from 'swiper'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); +@Component({ + moduleId: module.id, + templateUrl: './application.html', +}) +export class ApplicationComponent { + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 2500, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + modules: [Autoplay], + breakpoints: { + 320: { + slidesPerView: 2, + }, + 600: { + slidesPerView: 4, + }, + 1000: { + slidesPerView: 5, + }, + 1600: { + slidesPerView: 7, + }, + }, + }; + constructor() {} +} diff --git a/src/app/blog-details.html b/src/app/blog-details.html new file mode 100644 index 0000000..a9a9144 --- /dev/null +++ b/src/app/blog-details.html @@ -0,0 +1,135 @@ +
+
+
+
+
+
+
Project Management
+

Why is JIRA important for managing projects?

+
    +
  • + avtar + Sophia Reyes +
  • +
  • + June 2, 2021 +
  • +
  • + 3 mins read +
  • +
+
+
+ blog-detail-hero +
+
+
+
+
+ +
+
+
+

Where does it come from?

+

+ Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making + it over 2000 years old. +

+

+ Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, + from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. +

+ +

Where can I get some?

+

+ There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, + or randomised words which don't look even slightly believable. +

+ +

Where does it come from?

+
    +
  • Vestibulum hendrerit tortor ac rutrum porta.
  • +
  • Donec gravida elit a auctor luctus.
  • +
  • Integer iaculis odio id blandit varius.
  • +
+ +

What is Lorem Ipsum?

+

+ Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it + to make a type specimen book. +

+ +
+
+ blog-detail-1 +
+
+ blog-detail-2 +
+
+ +

1914 translation by H. Rackham

+

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo + inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit + aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. +

+ +

The standard Lorem Ipsum passage

+

+ Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in + 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum + dolor sit amet..", comes from a line in section 1.10.32. +

+

+ There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, + or randomised words which don't look even slightly believable. +

+ +
+
+ blog-detail-3 +
+
+ blog-detail-4 +
+
+ +

Nunc et sem vel diam dignissim

+

+ On the other hand, we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the charms of pleasure of + the moment, so blinded by desire, that they cannot foresee the pain and trouble that are bound to ensue; and equal blame belongs to those + who fail in their duty through weakness of will, which is the same as saying through shrinking from toil and pain. +

+
+
+
+
diff --git a/src/app/blog-details.ts b/src/app/blog-details.ts new file mode 100644 index 0000000..df8e8c9 --- /dev/null +++ b/src/app/blog-details.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './blog-details.html', +}) +export class BlogDetailsComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/blog-landing.html b/src/app/blog-landing.html new file mode 100644 index 0000000..0159f7c --- /dev/null +++ b/src/app/blog-landing.html @@ -0,0 +1,1511 @@ +
+
+
+
+
+

+ We'll help digitally transform your business. +

+

+ lorem ipsum is a placeholder text to demonstrate the visual form of a typeface without relying on very meaningful content like this one + for example. +

+
+ + +
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+
Latest Blogs
+
+
+
+
+
+ +

+ LIFESTYLE +

+
+
+
+ +

Shaun Park

+
+
+ + + + + + +

20 May 2022

+
+
+ 16 Unheard Ways To Achieve Greater Walker +
+
+ + + + + + +

Admin

+
+
+ + + + + +

350

+
+ +
+

Lorem ipsum dolor amet consectetur adipisicing elit eiusm tempor incididunt...

+
+
+
+
+
+
+ +
+
+
+ 5 Easy Ways You Can Turn Future Into Success +
+ + + + + + +

20 May 2022

+
+

Lorem ipsum dolor sit amet consectetur elit sed do.

+
+
+
+
+
+
+ +
+
+
+ Etiam Vel Neqe +
+ + + + + + +

20 May 2022

+
+

Lorem ipsum dolor sit amet consectetur elit sed do.

+
+
+
+
+
+
+ +
+
+
+ Etiam Vel Neqe +
+ + + + + + +

20 May 2022

+
+

Lorem ipsum dolor sit amet consectetur elit sed do.

+
+
+
+
+
+
+
+
+
Popular Posts
+
+
+
+
+
+ +
+
+
+ Your Light Is About To Stop Being Relevant +
+ + + + + + +

20 May 2022

+
+
+
+
+
+
+
+ +
+
+
+ Your Light Is About To Stop Being Relevant +
+ + + + + + +

24 May 2022

+
+
+
+
+
+
+
+ +
+
+
+ 3 Easy Ways To Make Your iPhone Faster +
+ + + + + + +

20 May 2022

+
+
+
+
+
+
+
+ +
+
+
+ Secrets Your Parents Never Told You About Bulb +
+ + + + + + +

20 May 2022

+
+
+
+
+
+
+
+
+ +
+
+
+
+
Trending
+
+
+
+
+ +
TECH
+
+ Apple Watch: What does the future hold? + +

+ Days fish waters gathered given made third under blessed, is face. Is won’t lights it man can’t... +

+
+
+
+ +

Shaun Park

+
+
+ + + + + + +

20 May 2022

+
+
+
+
+
+
+
+ +
STYLE
+
+ The Top Trends For Summer Wedding Dressing +
+ + + + + + +

20 May 2022

+
+
+
+
+
+ +
STYLE
+
+ UBC researchers use drones to track jellyfish blooms +
+ + + + + + +

17 May 2022

+
+
+
+
+
+ +
GUIDE
+
+ Guide to Throwing the Perfect Summer Pool Party +
+ + + + + + +

12 Dec 2022

+
+
+
+
+
+ +
LIFE
+ +
+
+
+
+
+ +
+
+
+
+
+
More Stories
+
+
+ + +
+
+ +
+ + +
+
+ +
+

FASHION

+
16 Unheard Ways To Achieve Greater Walker
+
+
+ +

Shaun Park

+
+
+ + + + + + +

20 May 2022

+
+
+
+
+
+ + +
+
+ +
+

TIPS

+
Ten top tips to improve your financial management
+
+
+ +

Shaun Park

+
+
+ + + + + + +

20 May 2022

+
+
+
+
+
+ + +
+
+ +
+

TIPS

+
Ten top tips to improve your financial management
+
+
+ +

Shaun Park

+
+
+ + + + + + +

20 May 2022

+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+

JOIN OUR NEWSLETTER!

+

Enter your email to receive our newsletter.

+
+ + +
+
+
+ +
+
+
+
+ +
+
+
+
+
+
Celebration
+
+
+ + +
+
+ + + +
+ +

LIFESTYLE

+
+
+
+
+ +

Shaun Park

+
+
+ + + + + + +

20 May 2022

+
+
+ Secrets Your Parents Never Told You About Bulb +
+
+ + +
+ +

TRAVEL

+
+
+
+
+ +

Shaun Park

+
+
+ + + + + + +

20 May 2022

+
+
+ SuperShe Island: Women-only luxury retreat opening in Finland +
+
+ + +
+ +

TRAVEL

+
+
+
+
+ +

Shaun Park

+
+
+ + + + + + +

20 May 2022

+
+
+ Overtourism and the big chill: travel trends in 2018 +
+
+
+
+
+ +
+
+
+
+
+
+
+
Most Recent
+
+
+
+
+ +
+
+ Still Standing Tall +

Life begins at the end of your at comfort zone.

+
+
+
+ +

William Wong

+
+
+ + + + + + +

17 Jan 2023

+
+
+

+ NATURA +

+
+
+
+
+ +
+
+ Sunny Side Up +

No place is ever as bad as they tell you it’s going to be.

+
+
+
+ +

Mat Vogels

+
+
+ + + + + + +

08 Jan 2023

+
+
+

+ PHOTOGRAPHY +

+
+
+
+
+ +
+
+ Through the Mist +

Travel makes you see what a tiny place you occupy in the world.

+
+
+
+ +

William Wong

+
+
+ + + + + + +

13 Mar 2023

+
+
+

+ VACATION +

+
+
+
+
+ +
+
+ Awaken Early +

The European languages are members of the same family. Their...

+
+
+
+ +

Mat Vogels

+
+
+ + + + + + +

11 Feb 2023

+
+
+

+ VACATION +

+
+
+
+
+
+
+
+
Featured Posts
+
+
+
+
+ +
+ The Road Ahead +

The road ahead might be paved - it might not be.

+
+
+
+ +

Mat Vogels

+
+
+ + + + + + +

05 Sep 2022

+
+
+
+

+ PHOTOGRAPHY +

+
+
+
+ +
+ From Top Down +

Once a year, go someplace you’ve never been before.

+
+
+
+ +

William Wong

+
+
+ + + + + + +

07 Sep 2022

+
+
+
+

+ ADVENTURE +

+
+
+
+
+
+
+
+ +
+
+
+
+ + + + + + + +
+ {{0}} +
+

Unique content blocks

+
+
+ + + + + + +
+ {{0}} +
+

Positive feedback

+
+
+ + + + + + + + + +
+ {{0}} +
+

Average support time

+
+
+ + + + + + +
+ {{0}} +
+

Visitor return rate

+
+
+
+
+ +
+
+
+
+
+
+
+

Random Posts

+
+
+
+
+ +
+
+
+

Photographs

+
+ How 7 things will change the way you approach photographs +
+ + + + + + +

10 Jan 2023

+
+

+ Tincidunt dolor neque, risus aliquet ac cursus sodales placerat. Elit, nisl convallis diam imperdiet feugiat. Sagittis, neque + commodo. +

+
+
+
+
+ +
+
+
+

DESIGN

+
+ Online professional animation courses for beginners +
+ + + + + + +

12 Jan 2023

+
+

+ Turpis pulvinar quam nec porta faucibus blandit nulla diam ut. Nisi, amet sit vitae mattis. Dictum enim dictum quam pretium + pretium. +

+
+
+
+
+
+
+
+

Latest Videos

+
+
+ +
+ +
+ +
+
+
+
+
diff --git a/src/app/blog-landing.ts b/src/app/blog-landing.ts new file mode 100644 index 0000000..d953a4b --- /dev/null +++ b/src/app/blog-landing.ts @@ -0,0 +1,78 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay } from 'swiper'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); + +@Component({ + moduleId: module.id, + templateUrl: './blog-landing.html', +}) +export class BlogLandingComponent { + storeData: any; + activeTab = 'all'; + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 1000, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + navigation: { + nextEl: '.Stories-slider-button-next', + prevEl: '.Stories-slider-button-prev', + }, + modules: [Navigation, Autoplay], + breakpoints: { + 320: { + slidesPerView: 1, + }, + 600: { + slidesPerView: 2, + }, + 1000: { + slidesPerView: 3, + }, + }, + }; + + config1: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 1000, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + navigation: { + nextEl: '.feedback-slider-button-next', + prevEl: '.feedback-slider-button-prev', + }, + modules: [Navigation, Autoplay], + breakpoints: { + 320: { + slidesPerView: 1, + }, + 600: { + slidesPerView: 2, + }, + 1000: { + slidesPerView: 3, + }, + }, + }; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/blog.html b/src/app/blog.html new file mode 100644 index 0000000..8aabba6 --- /dev/null +++ b/src/app/blog.html @@ -0,0 +1,674 @@ +
+
+
+
+
+
+
Blog
+

Unlock the latest trends/news

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+
+
+ + blog +
+
UI/UX Design
+
+ Simple & constructive methods to improve your visual/UI design +
+

+ Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 + BC, making it over 2000 years old. +

+
+
+
+
+
+ + blog +
+
Project Management
+
+ Why is JIRA important for managing projects? +
+

+ Jira works well for Agile development projects for many reasons, including the ability to create Kanban and Scrum boards with + sprint planning and issue time estimation capabilities. +

+
+
+
+
+
+ + blog +
+
SEO Marketing
+
+ What is SEO (Search Engine Optimization)? +
+

+ Search engine optimization is the process of improving the quality and quantity of website traffic to a website or a web page + from search engines. +

+
+
+
+
+
+ + blog +
+
UI/UX Design
+
+ Simple & constructive methods to improve your visual/UI design +
+

+ Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 + BC, making it over 2000 years old. +

+
+
+
+
+
+ + blog +
+
Project Management
+
+ Why is JIRA important for managing projects? +
+

+ Jira works well for Agile development projects for many reasons, including the ability to create Kanban and Scrum boards with + sprint planning and issue time estimation capabilities. +

+
+
+
+
+
+ + blog +
+
SEO Marketing
+
+ What is SEO (Search Engine Optimization)? +
+

+ Search engine optimization is the process of improving the quality and quantity of website traffic to a website or a web page + from search engines. +

+
+
+
+
+
+ + blog +
+
UI/UX Design
+
+ Simple & constructive methods to improve your visual/UI design +
+

+ Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 + BC, making it over 2000 years old. +

+
+
+
+
+
+ + blog +
+
Project Management
+
+ Why is JIRA important for managing projects? +
+

+ Jira works well for Agile development projects for many reasons, including the ability to create Kanban and Scrum boards with + sprint planning and issue time estimation capabilities. +

+
+
+
+
+
+ + blog +
+
SEO Marketing
+
+ What is SEO (Search Engine Optimization)? +
+

+ Search engine optimization is the process of improving the quality and quantity of website traffic to a website or a web page + from search engines. +

+
+
+
+
+
+ + blog +
+
UI/UX Design
+
+ Simple & constructive methods to improve your visual/UI design +
+

+ Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 + BC, making it over 2000 years old. +

+
+
+
+
+
+ + blog +
+
Project Management
+
+ Why is JIRA important for managing projects? +
+

+ Jira works well for Agile development projects for many reasons, including the ability to create Kanban and Scrum boards with + sprint planning and issue time estimation capabilities. +

+
+
+
+
+
+ + blog +
+
SEO Marketing
+
+ What is SEO (Search Engine Optimization)? +
+

+ Search engine optimization is the process of improving the quality and quantity of website traffic to a website or a web page + from search engines. +

+
+
+
+
+
+
+
diff --git a/src/app/blog.ts b/src/app/blog.ts new file mode 100644 index 0000000..9c8e73a --- /dev/null +++ b/src/app/blog.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './blog.html', +}) +export class BlogComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/career.html b/src/app/career.html new file mode 100644 index 0000000..aa3cb1d --- /dev/null +++ b/src/app/career.html @@ -0,0 +1,1062 @@ +
+
+
+
+
+
+
Career
+

Join our team at Plurk

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+
+
+
Careers
+

Join the #1 Creative Agency

+
+
+

Find out everything you need to know and more about how we create our business process models.

+

+ It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The + point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content + here', making it look like readable English. +

+ Open Positions +
+
+ creative-agency +
+
+
+ +
+
+
+
Our Culture
+

Be Great. Do Good. Have Fun.

+
+
+
+
+ gallery-1 +
+
+ gallery-2 +
+
+ gallery-3 +
+
+
+
+ gallery-4 +
+
+ gallery-5 +
+
+
+
+ + +
+ +
+
+
+
Our Amazing Perks
+

Great benefits of working at Plurk

+
+
+
+
+
+ + + + + + + + + + + + +
+
Health Insurance
+
+
+
+
+
+ + + + + +
+
Employee Allowance
+
+
+
+
+
+ + + + +
+
Perks & Bonuses
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
4 weeks PTO
+
+
+
+
+
+ + + + + + +
+
Flexible Work Environment
+
+
+
+
+
+ + + + + + + + + +
+
Healthy Snacks
+
+
+
+
+
+ +
+
+
+
Open Positions
+

Wake Up To A Better Future

+
+
+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+
+
+
Design
+

Lead Mobile UI/UX Designer

+
+
+
+ + + +
+
+ San Francisco, CA - Full Time +
+
+ + + + + +
+
+
+
+
+
Website development
+

Sr. Systems Engineer - Java

+
+
+
+ + + +
+
Memphis, TN - Remote
+
+ + + + + +
+
+
+
+
+
application development
+

Flutter Developer

+
+
+
+ + + +
+
Helsinki, Finland - Remote
+
+ + + + + +
+
+
+
+
+
Digital marketing
+

Sr. SEO Expert

+
+
+
+ + + +
+
Owings, Maryland - Remote
+
+ + + + + +
+
+
+
+
+
application development
+

Flutter Developer

+
+
+
+ + + +
+
Helsinki, Finland - Remote
+
+ + + + + +
+
+
+
+
+
Digital marketing
+

Sr. SEO Expert

+
+
+
+ + + +
+
Owings, Maryland - Remote
+
+ + + + + +
+
+
+
+
+
+ +
+
+
+
Meet Our Team
+

Creative Minds

+
+
+
+
+ team-member-1 +
+

Aditya Patel

+
Chief Executive Officer
+
+
+
+ team-member-2 +
+

+ Audrey Ramirez +

+
Chief Operating Officer
+
+
+
+ team-member-3 +
+

+ James Robinson +

+
Chief Financial Officer
+
+
+
+ team-member-4 +
+

Daniel Allen

+
Chief Marketing Officer
+
+
+
+ team-member-1 +
+

Aditya Patel

+
Chief Executive Officer
+
+
+
+ team-member-2 +
+

+ Audrey Ramirez +

+
Chief Operating Officer
+
+
+
+ team-member-3 +
+

+ James Robinson +

+
Chief Financial Officer
+
+
+
+ team-member-4 +
+

Daniel Allen

+
Chief Marketing Officer
+
+
+
+
+ + + + +
diff --git a/src/app/career.ts b/src/app/career.ts new file mode 100644 index 0000000..4e3733e --- /dev/null +++ b/src/app/career.ts @@ -0,0 +1,41 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; +import { Lightbox, LightboxConfig } from 'ngx-lightbox'; + +@Component({ + moduleId: module.id, + templateUrl: './career.html', +}) +export class CareerComponent { + storeData: any; + activeTab = 'all'; + items = [ + { src: '/assets/images/gallery-1.png', thumb: '/assets/images/gallery-1.png' }, + { src: '/assets/images/gallery-2.png', thumb: '/assets/images/gallery-2.png' }, + { src: '/assets/images/gallery-3.png', thumb: '/assets/images/gallery-3.png' }, + { src: '/assets/images/gallery-4.png', thumb: '/assets/images/gallery-4.png' }, + { src: '/assets/images/gallery-5.png', thumb: '/assets/images/gallery-5.png' }, + ]; + constructor(public store: Store, private _lightbox: Lightbox, private _lightboxConfig: LightboxConfig) { + this.initStore(); + _lightboxConfig.enableTransition = false; + _lightboxConfig.wrapAround = true; + _lightboxConfig.showImageNumberLabel = true; + _lightboxConfig.showZoom = true; + _lightboxConfig.showRotate = true; + _lightboxConfig.albumLabel = '%1 of %2'; + _lightboxConfig.positionFromTop = 0; + _lightboxConfig.disableScrolling = true; + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } + open(index: number): void { + // open lightbox + this._lightbox.open(this.items, index); + } +} diff --git a/src/app/components/blog-slider.html b/src/app/components/blog-slider.html new file mode 100644 index 0000000..25f27b1 --- /dev/null +++ b/src/app/components/blog-slider.html @@ -0,0 +1,101 @@ +
+
+
+
+
{{ title }}
+

{{ subTitle }}

+
+
+ + View All + + + +
+
+ + + + +
+ + blog-1 +
+
{{ blog.title }}
+
{{ blog.excerpt }}
+

{{ blog.description }}

+
+
+
+
+ + +
+ blog-3 +
+ {{ blog.tag }} + + {{ blog.title }} + +

{{ blog.excerpt }}

+
+ {{ blog.date }} + + + + + +
+
+
+
+
+
+
+
diff --git a/src/app/components/blog-slider.ts b/src/app/components/blog-slider.ts new file mode 100644 index 0000000..26a82f2 --- /dev/null +++ b/src/app/components/blog-slider.ts @@ -0,0 +1,66 @@ +import { Component, Input } from '@angular/core'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay } from 'swiper'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); + +@Component({ + moduleId: module.id, + selector: 'blog-slider', + templateUrl: './blog-slider.html', +}) +export class BlogSliderComponent { + @Input() title: string = ''; + @Input() subTitle: string = ''; + @Input() blogs: any[] = [ + { + id: 1, + thumbnail: '/assets/images/blog1.png', + title: 'UI/UX Design', + excerpt: 'Simple & constructive methods to improve your visual/UI design', + description: + 'Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old.', + }, + { + id: 2, + thumbnail: '/assets/images/blog2.png', + title: 'Project Management', + excerpt: 'Why is JIRA important for managing projects?', + description: + 'Jira works well for Agile development projects for many reasons, including the ability to create Kanban and Scrum boards with sprint planning and issue time estimation capabilities.', + }, + { + id: 3, + thumbnail: '/assets/images/blog3.png', + title: 'SEO Marketing', + excerpt: 'What is SEO (Search Engine Optimization)?', + description: + 'Search engine optimization is the process of improving the quality and quantity of website traffic to a website or a web page from search engines.', + }, + ]; + @Input() type: string = 'service'; + + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + navigation: { + nextEl: '.blog-slider-button-next', + prevEl: '.blog-slider-button-prev', + }, + modules: [Navigation, Autoplay], + breakpoints: { + 640: { + slidesPerView: 2, + }, + 1024: { + slidesPerView: 3, + }, + }, + }; + constructor() {} +} diff --git a/src/app/components/client-slider.html b/src/app/components/client-slider.html new file mode 100644 index 0000000..91fb65d --- /dev/null +++ b/src/app/components/client-slider.html @@ -0,0 +1,85 @@ +
+
+ + +
+

{{ feedback.message }}

+
+
+ +
+
+
{{ feedback.name }}
+

{{ feedback.role }}

+
+
+
+
+
+
+ + +
+
+ + + +
+
+
+ +
+
+
{{ feedback.name }}
+

{{ feedback.role }}

+
+
+
+
+
+

new bungalow house

+

{{ feedback.message }}

+
+

San Diego, California

+
+
+
+
+ +
+
diff --git a/src/app/components/client-slider.ts b/src/app/components/client-slider.ts new file mode 100644 index 0000000..75d5c50 --- /dev/null +++ b/src/app/components/client-slider.ts @@ -0,0 +1,62 @@ +import { Component, Input } from '@angular/core'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay } from 'swiper'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); + +@Component({ + moduleId: module.id, + selector: 'client-slider', + templateUrl: './client-slider.html', +}) +export class ClientSliderComponent { + @Input() type: string = 'common'; + @Input() feedbacks: any = [ + { + id: 1, + name: 'amelia smith', + role: 'customer', + thumbnail: '/assets/images/realestate/customer-avatar.svg', + message: ` “It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.”`, + }, + ]; + config1: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 1000, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + navigation: { + nextEl: '.client-swiper-button-next', + prevEl: '.client-swiper-button-prev', + }, + modules: [Autoplay, Navigation], + breakpoints: { + 320: { + slidesPerView: 1, + }, + 600: { + slidesPerView: 2, + }, + }, + }; + config2: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 1000, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + navigation: { + prevEl: '.feedback-slider-button-prev', + nextEl: '.feedback-slider-button-next', + }, + modules: [Navigation, Autoplay], + }; + constructor() {} +} diff --git a/src/app/components/contactus-component.html b/src/app/components/contactus-component.html new file mode 100644 index 0000000..064457d --- /dev/null +++ b/src/app/components/contactus-component.html @@ -0,0 +1,285 @@ +
+
+
+ contact-text +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + +
+ +
diff --git a/src/app/components/contactus-component.ts b/src/app/components/contactus-component.ts new file mode 100644 index 0000000..6d6bb40 --- /dev/null +++ b/src/app/components/contactus-component.ts @@ -0,0 +1,21 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + selector: 'contactus-component', + templateUrl: './contactus-component.html', +}) +export class ContactusComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/components/counter.html b/src/app/components/counter.html new file mode 100644 index 0000000..0b26768 --- /dev/null +++ b/src/app/components/counter.html @@ -0,0 +1,184 @@ +
+
+
Company Facts
+

We are proud of our team

+
+
+
+
+
+ + + + + + + + + + + +
+
+
+ {{0}} +
+ Year in Business +
+
+
+
+
+
+ + + + + + + + + + + +
+
+
+ {{0}} +
+ Team Members +
+
+
+
+
+
+ + + + + + + + + + + +
+
+
+ {{0}} +
+ Happy Clients +
+
+
+
+
+
+ + + + + + + + + + + +
+
+
+ {{0}} +
+ Project Done +
+
+
+
+
diff --git a/src/app/components/counter.ts b/src/app/components/counter.ts new file mode 100644 index 0000000..4eaf936 --- /dev/null +++ b/src/app/components/counter.ts @@ -0,0 +1,11 @@ +import { Component, Input } from '@angular/core'; + +@Component({ + moduleId: module.id, + selector: 'counter', + templateUrl: './counter.html', +}) +export class CounterComponent { + @Input() showTitle: boolean = true; + constructor() {} +} diff --git a/src/app/components/faq-component.html b/src/app/components/faq-component.html new file mode 100644 index 0000000..3f0ebda --- /dev/null +++ b/src/app/components/faq-component.html @@ -0,0 +1,41 @@ +
+
+
FAQs
+

Frequently Asked Questions

+

Have questions? We’re help you.

+
+
+ +
+ +
+
+

{{faq.answer}}

+
+
+
+
+
+
diff --git a/src/app/components/faq-component.ts b/src/app/components/faq-component.ts new file mode 100644 index 0000000..da5f624 --- /dev/null +++ b/src/app/components/faq-component.ts @@ -0,0 +1,73 @@ +import { Component, Input } from '@angular/core'; + +@Component({ + moduleId: module.id, + selector: 'faq-component', + templateUrl: './faq-component.html', +}) +export class FaqAccordionComponent { + @Input() showTitle: boolean = true; + @Input() queries: any = [ + { + id: 1, + question: 'How long is this site live?', + answer: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', + }, + { + id: 2, + question: 'How do I create an account?', + answer: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', + }, + { + id: 3, + question: 'What protections does Strategic Systems use to protect our data?', + answer: "For now it is limited to 100MB per instance. We'll offer expansion options soon.", + }, + { + id: 4, + question: 'What type of support is included with this Service?', + answer: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', + }, + { + id: 5, + question: 'Do you have premium plans for products?', + answer: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', + }, + { + id: 6, + question: 'Who else is using plurk SaaS tool?', + answer: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', + }, + ]; + @Input() type: string = 'faq'; + + index: number = 0; + ngOnInit() { + setTimeout(() => { + const ele = document.querySelectorAll('.accordion button'); + if (ele.length) { + ele[0].click(); + } + }); + } + toggleAccordion(event: any, i: number) { + const isOpen = this.index === i; + const ele = document.querySelectorAll('.accordion-content'); + for (let i = 0; i < ele.length; i++) { + ele[i].style.maxHeight = ''; + } + + const element = event.currentTarget; + element.classList.toggle('active'); + const panel = element.nextElementSibling; + if (panel) { + if (isOpen) { + this.index = 0; + panel.style.maxHeight = ''; + } else { + this.index = i; + panel.style.maxHeight = panel.scrollHeight + 'px'; + } + } + } +} diff --git a/src/app/components/logo-slider.html b/src/app/components/logo-slider.html new file mode 100644 index 0000000..fb9814b --- /dev/null +++ b/src/app/components/logo-slider.html @@ -0,0 +1,26 @@ +
+

+ + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/app/components/logo-slider.ts b/src/app/components/logo-slider.ts new file mode 100644 index 0000000..f703a1f --- /dev/null +++ b/src/app/components/logo-slider.ts @@ -0,0 +1,41 @@ +import { Component, Input } from '@angular/core'; +import SwiperCore, { SwiperOptions, Autoplay } from 'swiper'; + +// install Swiper modules +SwiperCore.use([Autoplay]); + +@Component({ + moduleId: module.id, + selector: 'logo-slider', + templateUrl: './logo-slider.html', +}) +export class LogoSliderComponent { + @Input() mainClass: string = ''; + @Input() title: string = ''; + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 2500, + autoplay: { + delay: 0, + disableOnInteraction: false, + }, + breakpoints: { + 320: { + slidesPerView: 1.7, + }, + 600: { + slidesPerView: 3, + }, + 1000: { + slidesPerView: 5, + }, + 1600: { + slidesPerView: 7, + }, + }, + modules: [Autoplay], + }; + constructor() {} +} diff --git a/src/app/components/modal-dialog.html b/src/app/components/modal-dialog.html new file mode 100644 index 0000000..1b0d54e --- /dev/null +++ b/src/app/components/modal-dialog.html @@ -0,0 +1,30 @@ +
+ +
diff --git a/src/app/components/modal-dialog.ts b/src/app/components/modal-dialog.ts new file mode 100644 index 0000000..1d9a0e0 --- /dev/null +++ b/src/app/components/modal-dialog.ts @@ -0,0 +1,78 @@ +import { Component, EventEmitter, Input, Output } from '@angular/core'; + +@Component({ + moduleId: module.id, + host: { + '[attr.id]': 'id', + }, + selector: 'modal-dialog', + templateUrl: './modal-dialog.html', +}) +export class ModalDialog { + storeData: any; + id: any = Math.random(); + opened = false; + @Input() full: boolean = false; + @Input() closeBtn: boolean = false; + @Input() modal: boolean = false; + @Input() width: string = '550'; + @Input() isOpen: boolean = false; + @Input() openOnServerSide: boolean = false; + @Input() contentClass: string = ''; + @Input() closeBtnClass: string = ''; + @Output() public onclose: EventEmitter = new EventEmitter(); + @Output() public onopen: EventEmitter = new EventEmitter(); + ngAfterViewInit() { + setTimeout(() => { + const ele = document.querySelector("modal-dialog[id='" + this.id + "']"); + if (ele) { + document.body.appendChild(ele); + } + if (this.isOpen) { + this.open(); + } + }); + } + ngOnDestroy() { + const ele = document.querySelector("modal-dialog[id='" + this.id + "']"); + if (ele) { + document.body.removeChild(ele); + } + } + scrollbarWidth() { + const scrollDiv = document.createElement('div'); + scrollDiv.style.cssText = 'width:100px;height:100px;overflow:scroll !important;position:absolute;top:-9999px'; + document.body.appendChild(scrollDiv); + const result = scrollDiv.offsetWidth - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + return result; + } + + open() { + const ele = document.querySelector('html'); + if (ele) { + ele.classList.add('overflow-hidden'); + ele.style.marginRight = this.scrollbarWidth() + 'px'; + } + + this.opened = true; + + this.onopen.emit(); + } + closeByBackdrop() { + if (!this.modal) { + this.close(); + } + } + close() { + const ele = document.querySelector('html'); + if (ele) { + ele.style.marginRight = ''; + ele.classList.remove('overflow-hidden'); + } + + this.opened = false; + + this.onclose.emit(); + } +} diff --git a/src/app/components/office-swiper.html b/src/app/components/office-swiper.html new file mode 100644 index 0000000..fb52cbc --- /dev/null +++ b/src/app/components/office-swiper.html @@ -0,0 +1,184 @@ +
+
+
+
+
Our Offices
+

Come to visit our offices throughout the globe

+
+
+ View All + + +
+
+ + +
+ office +
+
+ + + + + + + + + + + +
+ +
+
+
+ +
+ office +
+
+ + + + + + + + + + + +
+ +
+
+
+
+
+
diff --git a/src/app/components/office-swiper.ts b/src/app/components/office-swiper.ts new file mode 100644 index 0000000..5cbfd40 --- /dev/null +++ b/src/app/components/office-swiper.ts @@ -0,0 +1,30 @@ +import { Component, Input } from '@angular/core'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay } from 'swiper'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); + +@Component({ + moduleId: module.id, + selector: 'office-swiper', + templateUrl: './office-swiper.html', +}) +export class OfficeSwiperComponent { + @Input() mainClass: string = ''; + @Input() showTitle: boolean = true; + config: SwiperOptions = { + slidesPerView: 'auto', + loop: true, + spaceBetween: 30, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + navigation: { + nextEl: '.ofc-slider-button-next', + prevEl: '.ofc-slider-button-prev', + }, + modules: [Navigation, Autoplay], + }; + constructor() {} +} diff --git a/src/app/components/project-slider.html b/src/app/components/project-slider.html new file mode 100644 index 0000000..4f6d336 --- /dev/null +++ b/src/app/components/project-slider.html @@ -0,0 +1,128 @@ +
+
+
+ +
+ View All + + +
+
+ +
+ + + +
+ + project-2 +
+
Crypto Game - UX Interface
+

Website, App

+
+
+
+ +
+ + project-3 +
+
Looking for a quiet place
+

Website

+
+
+
+ +
+ + project-4 +
+
WeTour - Travel Hero Illustration
+

Website

+
+
+
+ +
+ + project-5 +
+
Digital Art Guide
+

Branding

+
+
+
+ +
+ + project-6 +
+
Frozeverse - 3D and motion design
+

Branding, Website, App

+
+
+
+
+
diff --git a/src/app/components/project-slider.ts b/src/app/components/project-slider.ts new file mode 100644 index 0000000..31e9551 --- /dev/null +++ b/src/app/components/project-slider.ts @@ -0,0 +1,44 @@ +import { Component, Input } from '@angular/core'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay } from 'swiper'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); + +@Component({ + moduleId: module.id, + selector: 'project-slider', + templateUrl: './project-slider.html', +}) +export class ProjectSliderComponent { + @Input() mainClass: string = ''; + @Input() showTitle: boolean = true; + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + autoplay: { + delay: 2500, + disableOnInteraction: false, + }, + navigation: { + nextEl: '.project-slider-button-next', + prevEl: '.project-slider-button-prev', + }, + modules: [Navigation, Autoplay], + breakpoints: { + 600: { + slidesPerView: 2, + }, + 768: { + slidesPerView: 3, + }, + 1000: { + slidesPerView: 4, + }, + 1200: { + slidesPerView: 5, + }, + }, + }; + constructor() {} +} diff --git a/src/app/components/testimonial.html b/src/app/components/testimonial.html new file mode 100644 index 0000000..b72c160 --- /dev/null +++ b/src/app/components/testimonial.html @@ -0,0 +1,433 @@ +
+
+ + +
+
+ + + +
+ +
+ + + + + + + + + + + + +
+
+
+
+ + + + + + + +
+

{{feedback.message}}

+
+
{{feedback.name}}
+
{{ feedback.role}}
+ + + + + + + + +
+
+
+
+
+
+
+ View All + + + + +
+
+ +
+ + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ +
+
+
Testimonial
+

Feedback from our clients

+
+
+
+ + + +
+
+
+ blue-quote +
+ + + + + + + +
+

+ {{feedback.message}} + + + + + + + + +

+
+
{{feedback.name}}
+
{{ feedback.role}}
+
+
+
+ +
+ testimonial +
+
+
+
+ + +
+
+
+ + + + + + +
+
+ + + + + + + +
+

{{feedback.message}}

+
+
{{feedback.name}}
+
{{ feedback.role}}
+
+
+
+ testimonial +
+
+
+
+
+
+ View All + + +
+
+
+
+
+
diff --git a/src/app/components/testimonial.ts b/src/app/components/testimonial.ts new file mode 100644 index 0000000..6b96803 --- /dev/null +++ b/src/app/components/testimonial.ts @@ -0,0 +1,42 @@ +import { Component, Input } from '@angular/core'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay } from 'swiper'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); + +@Component({ + moduleId: module.id, + selector: 'testimonial', + templateUrl: './testimonial.html', +}) +export class TestimonialComponent { + @Input() mainClass: string = ''; + @Input() showTitle: boolean = true; + @Input() type: string = 'common'; + @Input() feedbacks: any = [ + { + id: 1, + name: 'Allan Branch', + role: 'CEO of Lifted', + thumbnail: '/assets/images/testimonial.png', + message: + "There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable.", + }, + ]; + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 1000, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + navigation: { + nextEl: '.testimonial-swiper-button-next', + prevEl: '.testimonial-swiper-button-prev', + }, + modules: [Navigation, Autoplay], + }; + constructor() {} +} diff --git a/src/app/construction.html b/src/app/construction.html new file mode 100644 index 0000000..8cf15cc --- /dev/null +++ b/src/app/construction.html @@ -0,0 +1,570 @@ +
+
+
+
+
+

+ WE TAKE YOUR DREAM HOME & MAKE IT REAL +

+

+ Nisi nec a enim, velit potenti nunc interdum facilisis Pharetra integer viverra et scelerisque egestas. +

+ Contact Us +
+
+ +
+
+
+
+ +
+
+
+

OUR SERVICES

+
+ Duis sed odio sit amet nibh vulputate cursus a sit amet mauris morbi accumsan ipsum velit. Nam nec tellus a odio tincidunt auctor a + ornare odio. +
+
+
+
+ + + + + + + + + + + + + + Over 15 years experience + 01 + +

Lorem ipsum dolot amet, consectetur adipiscing elit, sed do eiusmod tempor ever since the 1500s.

+
+
+ + + + + + + + + + + + + + Consecutive award winning + 02 + +

Lorem ipsum dolot amet, consectetur adipiscing elit, sed do eiusmod tempor ever since the 1500s.

+
+
+ + + + + + + + + + + + + + Heigh quality products + 03 + +

Lorem ipsum dolot amet, consectetur adipiscing elit, sed do eiusmod tempor ever since the 1500s.

+
+
+
+
+ +
+
+
+

An innovative company working with the latest technologies

+ +
+
+
+ +
+
+
+

ULTRA PERFORMANCE

+
+ Proin gravida nibh vel velit auctor aliquet aenean sollicitudin, lorem quis bibendum auctor, nisi elit cuat ipsum. +
+
+
+
+
+

BUILDINGS

+

95%

+
+
+
+
+
+
+
+

ARCHITECTURE

+

60%

+
+
+
+
+
+
+
+

CONSTRUCTIONS

+

70%

+
+
+
+
+
+
+
+

PLANNING

+

40%

+
+
+
+
+
+
+
+
+ +
+
+
+

SOME OF OUR ESTEEMED PROJECTS

+
+ Proin gravida nibh vel velit auctor aliquet aenean sollicitudin, lorem quis bibendum auctor, nisi elit cuat ipsum. +
+
+
+
+
+
+ + +
+
+ The Atmosphere +

Chicago, USA

+
+
+
+
+ + +
+
+ Wavelength Structure +

Madrid, Spain

+
+
+
+
+ + +
+
+ Greenhouse Garden +

Bali, Indonesia

+
+
+
+
+ + +
+
+ Industrial Hub +

Beijing, China

+
+
+
+
+ + +
+
+ Corporate Headquarters +

California, USA

+
+
+
+
+ + +
+
+ Space Station +

Moscow, Russia

+
+
+
+
+ + +
+
+ Bent Architecture +

Melbourne, Australia

+
+
+
+
+ + +
+
+ Lakeview Center +

Auckland, New Zealand

+
+
+
+
+ +
+
+
+
+
+ {{0}} +
+

Hours of Works

+
+
+
+ {{0}} +
+

Projects Complete

+
+
+
+ {{0}} +
+

Feedback Received

+
+
+
+ {{0}} +
+

Awards Winning

+
+
+
+
+ +
+
+
+

MEET OUR TEAM

+
+ Duis sed odio sit amet nibh vulputate cursus a sit amet mauris morbi accumsan ipsum velit. Nam nec tellus a odio tincidunt auctor a + ornare odio. +
+
+
+
+
+ + + +
+
+ + + +
+ + +
+ +
+

Oscar Helman

+

Founder & CEO

+
+ +
+ +
+

James Hoult

+

Founder & CEO'

+
+ +
+ +
+

Steve johnson

+

Project Manager

+
+ +
+ +
+

Amy reacher

+

Dentist

+
+
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+

RECENT NEWS

+
Check out our latest blog posts
+
+
+
+ + +
+

November 28, 2022

+
FUTURE PROOFING HOSPITALS
+

Lorem ipsum dolor amet consectetur adipisicing elit eiusm tempor incididunt...

+
+
+
+ + +
+

November 28, 2022

+
BIKE PARTS WAREHOUSE, DE
+

Lorem ipsum dolor amet consectetur adipisicing elit eiusm tempor incididunt...

+
+
+
+ + +
+

November 28, 2022

+
JOY HOTEL & CASINO
+

Lorem ipsum dolor amet consectetur adipisicing elit eiusm tempor incididunt...

+
+
+
+
+
+ +
+ +
+
diff --git a/src/app/construction.ts b/src/app/construction.ts new file mode 100644 index 0000000..d61fd7e --- /dev/null +++ b/src/app/construction.ts @@ -0,0 +1,90 @@ +import { Component, Input } from '@angular/core'; +import { Store } from '@ngrx/store'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay } from 'swiper'; +import { Lightbox, LightboxConfig } from 'ngx-lightbox'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); + +@Component({ + moduleId: module.id, + templateUrl: './construction.html', +}) +export class ConstructionComponent { + items = [ + { src: '/assets/images/construction/project1.jpg', thumb: '/assets/images/construction/project1.jpg', }, + { src: '/assets/images/construction/project2.jpg', thumb: '/assets/images/construction/project2.jpg', }, + { src: '/assets/images/construction/project3.jpg', thumb: '/assets/images/construction/project3.jpg', }, + { src: '/assets/images/construction/project4.jpg', thumb: '/assets/images/construction/project4.jpg', }, + { src: '/assets/images/construction/project5.jpg', thumb: '/assets/images/construction/project5.jpg', }, + { src: '/assets/images/construction/project6.jpg', thumb: '/assets/images/construction/project6.jpg', }, + { src: '/assets/images/construction/project7.jpg', thumb: '/assets/images/construction/project7.jpg', }, + { src: '/assets/images/construction/project8.jpg', thumb: '/assets/images/construction/project8.jpg', }, + ]; + constructor(public store: Store, private _lightbox: Lightbox, private _lightboxConfig: LightboxConfig) { + this.initStore(); + _lightboxConfig.enableTransition = false; + _lightboxConfig.wrapAround = true; + _lightboxConfig.showImageNumberLabel = true; + _lightboxConfig.showZoom = true; + _lightboxConfig.showRotate = true; + _lightboxConfig.albumLabel = '%1 of %2'; + _lightboxConfig.positionFromTop = 0; + _lightboxConfig.disableScrolling = true; + } + open(img: string): void { + // open lightbox + const index = this.items.findIndex((d) => d.src.toLowerCase().includes(img.toLowerCase())); + this._lightbox.open(this.items, index); + } + + storeData: any; + activeTab = 'all'; + config: SwiperOptions = { + loop:true, + slidesPerView:4, + spaceBetween:30, + autoplay:{ + delay: 3000, + disableOnInteraction: false, + }, + breakpoints:{ + 320: { + slidesPerView: 1, + }, + 600: { + slidesPerView: 2, + }, + 1000: { + slidesPerView: 3, + }, + 1600: { + slidesPerView: 4, + }, + }, + navigation:{ + nextEl: '.team-swiper-button-next', + prevEl: '.team-swiper-button-prev', + }, + modules:[Navigation, Autoplay], + }; + + @Input() feedbacks: any = [ + { + id: 1, + name: 'Jack danver', + role: 'Patient of cancer', + thumbnail: '/assets/images/testimonial3.png', + message: + 'I had a great experience with doctor ralph Edward. His surgery technique is very good. i satisfied with his team members. Thank you!!', + }, + ]; + + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/consulting.html b/src/app/consulting.html new file mode 100644 index 0000000..69fba57 --- /dev/null +++ b/src/app/consulting.html @@ -0,0 +1,704 @@ +
+
+
+
+
+
We are professionals for
+

Grow Your Business!

+

+ It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. +

+
+
+ +
+
+ +
+ + + +
+ Contact us +
+
+ +
+
+
+
+ +
+ +
+ +
+
+
+
+
+
+ + + +

Vision

+
+
+ + + +

Missions

+
+
+ + + +

Goals

+
+
+
+
+
+ +
+
+

+ Benefits of wellbein and positive employee +

+

+ It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. +

+ +
+
+
+
+
+ +
+
+ +
+
+
+

What we do

+

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

+
+
+
+
+ +
+
+
Tax Planning
+
+

+ It is a long established fact that a reader will be distracted by the readable content. +

+ + + +
+
+
+
+ +
+
+
Business Planning
+
+

+ It is a long established fact that a reader will be distracted by the readable content. +

+ + + +
+
+
+
+ +
+
+
Insutance & Family
+
+

+ It is a long established fact that a reader will be distracted by the readable content. +

+ + + +
+
+
+
+
+ +
+
+
+

Pricing Plan

+

Innovative solutions satisfied clients for tax consulting

+
+
+ Monthly + + Yearly +
+
+
+
Premium
+

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

+

+ $25 / monthly +

+

Cloud Hosting Features

+
    +
  • Single Domain
  • +
  • 50 GB SSD
  • +
  • 1 TB Premium Bandwidth
  • +
+ +
+
+

Most Popular

+
Plus
+

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

+

+ $70 / monthly +

+

VPS Hosting Features

+
    +
  • 5 Domains
  • +
  • 100 GB SSD
  • +
  • 2 TB Premium Bandwidth
  • +
+ +
+
+
Business
+

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

+

+ $115 / monthly +

+

Business Hosting Features

+
    +
  • Unlimited Domains
  • +
  • 1 TB SSD
  • +
  • 5 TB Premium Bandwidth
  • +
+ +
+
+
+
+ +
+
+ +
+
+
+
Testimonial
+

Feedback from our clients

+
+
+ + +
+
+
+ blue-quote +
+ + + + + + + +
+

+ There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some + form, by injected humour, or randomised words which don't look even slightly believable. + + + + + + + + +

+
+
Allan Branch
+
CEO of Lifted
+
+
+
+
+ testimonial +
+
+
+
+
+ View All + + +
+
+
+
+ +
+
+
+

Most Asked Questions

+
+ Lorem Ipsum Dolor Sit Amet Consectetur Adipisicing Elit. Sunt, Architecto Cupiditate Odio Rerum Est +
+
+
+
+ +
+
+ +
+ +
+
+

{{faq.answer}}

+
+
+
+
+
+
+
+
+ +
+
+
+
+

+ We Help Growing Business +

+

+ We help managing asset, provide financial advise. leave money issue with us and focus on your core business. +

+
+ + +
+
+
+
+
+ {{0}} +
+

Satisfied customers

+
+
+
+ {{0}} +
+

Years project experince

+
+
+
+
+
+ + +
+
+
+ +
+
+
+
+ +
+
+
+

Knowledge Center

+
Lorem ipsum dolor amet consectetur adipisicing elit eiusm tempor incididunt...
+
+
+
+
+ +
+
+
+ Shifting Toward Innovation: How CIOs Can Accelerate Enterprise Success +
+

+ The CIO has always played an important role in businesses successes. Today, with a digital transformation +

+
+
+
+
+ +
+
+
Digital Transformation Success: 3 Things to Consider
+

+ New innovations are emerging each day and challenging businesses in industries across the globe to adopt +

+
+
+
+
+ +
+
+
Top IT Predictions for CIOs in the New Decade
+

As we just stepped into a new decade, many enterprises are taking time to look back

+
+
+
+
+
+ +
+
+
+
+
Get In Touch.
+

Ready to Get Started?

+ form-img + +
+
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+
diff --git a/src/app/consulting.ts b/src/app/consulting.ts new file mode 100644 index 0000000..06bc009 --- /dev/null +++ b/src/app/consulting.ts @@ -0,0 +1,96 @@ +import { Component, Input } from '@angular/core'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay } from 'swiper'; +import { Store } from '@ngrx/store'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); + +@Component({ + moduleId: module.id, + templateUrl: './consulting.html', +}) +export class ConsultingComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + + config: SwiperOptions = { + loop:true, + slidesPerView: 1, + spaceBetween: 30, + speed: 1000, + autoplay:{ + delay: 3000, + disableOnInteraction: false, + }, + navigation: { + nextEl: '.testimonial-swiper-button-next', + prevEl: '.testimonial-swiper-button-prev', + }, + modules: [Navigation, Autoplay], + }; + + @Input() showTitle: boolean = true; + @Input() queries: any = [ + { + id: 1, + question: 'Are your service easy to use?', + answer: 'mhmd, Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table.', + }, + { + id: 2, + question: 'Will i receive future updates?', + answer: 'mhmd, Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch.', + }, + { + id: 3, + question: 'Is this services work in my country?', + answer: ' mhmd, Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.', + }, + { + id: 4, + question: 'How much I will pay?', + answer: 'mhmd, Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod', + }, + ]; + @Input() type: string = 'faq'; + + index: number = 0; + ngOnInit() { + setTimeout(() => { + const ele = document.querySelectorAll('.accordion button'); + if (ele.length) { + ele[0].click(); + } + }); + } + toggleAccordion(event: any, i: number) { + const isOpen = this.index === i; + const ele = document.querySelectorAll('.accordion-content'); + for (let i = 0; i < ele.length; i++) { + ele[i].style.maxHeight = ''; + } + + const element = event.currentTarget; + element.classList.toggle('active'); + const panel = element.nextElementSibling; + if (panel) { + if (isOpen) { + this.index = 0; + panel.style.maxHeight = ''; + } else { + this.index = i; + panel.style.maxHeight = panel.scrollHeight + 'px'; + } + } + } + + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/contact-us.html b/src/app/contact-us.html new file mode 100644 index 0000000..e2ca45d --- /dev/null +++ b/src/app/contact-us.html @@ -0,0 +1,1462 @@ +
+
+
+
+
+
+
Contact Us
+

Get in touch with us

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+ +
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+ +
+
+
+

Canada Branch

+
+
+
+
+
+ + + + + + + + + + +
+ Call us +
+ (480) 555-0103 +
+
+
+
+ + + + + + + + + + +
+ Mail us +
+ michelle.rivera@example.com +
+
+
+
+ + + + + + + + + + +
+ Location +
+
Ontario, Canada
+
+
+ canada-branch +
+
+ +
+
+
+

Australia Branch

+
+
+
+
+
+ + + + + + + + + + +
+ Call us +
+ (08) 9082 3286 +
+
+
+
+ + + + + + + + + + +
+ Mail us +
+ michelle.rivera@example.com +
+
+
+
+ + + + + + + + + + +
+ Location +
+
Coolumburra, Australia
+
+
+ canada-branch +
+
+ + + +
+ +
+ +
+
+
+
Pricing Plan
+

Choose Affordable Prices

+
+
+
+
+

Intro

+
+
    +
  • +
    + + + + +
    +

    Daily content updates

    +
  • +
  • +
    + + + + +
    +

    Unlimited downloads of FREE resources

    +
  • +
  • +
    + + + + +
    +

    Unlimited PREMIUM downloads

    +
  • +
  • +
    + + + + +
    +

    Valid commercial licenses

    +
  • +
  • +
    + + + + + + +
    +

    Advanced Search

    +
  • +
  • +
    + + + + + + +
    +

    No attribution required

    +
  • +
  • +
    + + + + + + +
    +

    Browse with no ads

    +
  • +
+
+
+
+ Monthly +
+ $39.99/month +
+ Billed every month +
+
+
+
+

Base

+
+ MOST POPULAR +
+
+
    +
  • +
    + + + + +
    +

    Daily content updates

    +
  • +
  • +
    + + + + +
    +

    Unlimited downloads of FREE resources

    +
  • +
  • +
    + + + + +
    +

    Unlimited PREMIUM downloads

    +
  • +
  • +
    + + + + +
    +

    Valid commercial licenses

    +
  • +
  • +
    + + + + +
    +

    Advanced Search

    +
  • +
  • +
    + + + + +
    +

    No attribution required

    +
  • +
  • +
    + + + + +
    +

    Browse with no ads

    +
  • +
+
+
+
+ Yearly +
+ $14.99/month +
+ $179.00 every 12 months +
+
+
+
+

Pro

+
+
    +
  • +
    + + + + +
    +

    Daily content updates

    +
  • +
  • +
    + + + + +
    +

    Unlimited downloads of FREE resources

    +
  • +
  • +
    + + + + +
    +

    Unlimited PREMIUM downloads

    +
  • +
  • +
    + + + + +
    +

    Valid commercial licenses

    +
  • +
  • +
    + + + + +
    +

    Advanced Search

    +
  • +
  • +
    + + + + +
    +

    No attribution required

    +
  • +
  • +
    + + + + +
    +

    Browse with no ads

    +
  • +
+
+
+
+ Yearly +
+ $499 +
+ Billed once only +
+
+
+
+
+ +
+
+
+
+

Start your free trial

+
+

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

+ +
+
+
+
diff --git a/src/app/contact-us.ts b/src/app/contact-us.ts new file mode 100644 index 0000000..0d66669 --- /dev/null +++ b/src/app/contact-us.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './contact-us.html', +}) +export class ContactUsComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/creative-agency.html b/src/app/creative-agency.html new file mode 100644 index 0000000..d8e80ba --- /dev/null +++ b/src/app/creative-agency.html @@ -0,0 +1,549 @@ +
+
+
+
+
+
+

+ One brilliant idea can change your life. +

+

Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus.

+
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+ +
+ + +
BRANDING
+
+ +
TYPHOGRAPHY
+
+ +
AGENCY
+
+ +
DESIGN
+
+ +
INTERACTION
+
+ +
INNOVATION
+
+ +
ELEMENT
+
+ +
DIGITAL SOLUTION
+
+
+
+ +
+
+
+
+
+ + + + + +

WHO WE ARE?

+ + + + + +
+

+ We are dynamic team of creative design and development +

+

we ensure that you’ll embark on a perfectly planned, safe vacation at a price you can afford.

+
+ Explore Us + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+ +
+
+
+
+ + + + + +

FEATURES

+ + + + + +
+
+

+ The Best Features +

+

+ Contrary to popular belief, Lorem Ipsum is not simply random text. +

+
+
+ + + + + + +
Marketing Strategy
+

Contrary to popular belief, Lorem Ipsum is not simply random text.

+
+
+ + + + + + +
SEO-optimization
+

There are many variations of passages of Lorem Ipsum available, but the majority.

+
+
+ + + + + + + +
Design
+

All the Lorem Ipsum generators on the Internet tend to repeat chunks as necessary.

+
+
+ + + + + + +
Marketing Strategy
+

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque.

+
+
+ + + + + + +
Research
+

It has survived not only five centuries, but also the leap into electronic typesetting,

+
+
+ + + + + +
Social Media Promotion
+

It was popularised in the 1960s with the release of Letraset sheets containing.

+
+
+
+
+ +
+
+
+
+
+
+ {{0}} +
+

Projects Executed

+
+
+
+ {{0}} +
+

Global Awards

+
+
+
+ {{0}} +
+

Active Clients

+
+
+
+ {{0}} +
+

Ongoing Contracts

+
+
+
+
+
+ +
+
+
+ + + + + +

Check our Work

+ + + + + +
+
Some of our recent case studies
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+
+ + + + + +

out team

+ + + + + +
+
+ Our agency it’s about the people and for the people +
+

+ It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. +

+ +
+
+
+
+
+ +
+
+
+
+
Aditya Patel
+

Chief Executive Officer

+
+
+
+
+
+
+ +
+
+
+
+
Audrey Ramirez
+

Chief Operating Officer

+
+
+
+
+
+
+ +
+
+
+
+
James Robinson
+

Chief Financial Officer

+
+
+
+
+
+
+ +
+
+
+
+
Daniel Allen
+

Chief Marketing Officer

+
+
+
+
+
+ +
+
+
+ + + + + +

CLIENT STORIES

+ + + + + +
+
+ Check the success story of our clients +
+

+ Velit integer nisl quis eget sedusce sed vulputate ac accumsan, odio amet. Sit varius pharetra donec. +

+ + +
+
+ +
+ + +
+
Let’s work together
+ Get started +
+
+ +
+
Let’s work together
+ Get started +
+
+ +
+
Let’s work together
+ Get started +
+
+
+
+
diff --git a/src/app/creative-agency.ts b/src/app/creative-agency.ts new file mode 100644 index 0000000..2cc236d --- /dev/null +++ b/src/app/creative-agency.ts @@ -0,0 +1,96 @@ +import { Component, Input } from '@angular/core'; +import SwiperCore, { SwiperOptions, Autoplay } from 'swiper'; +import { Store } from '@ngrx/store'; + +// install Swiper modules +SwiperCore.use([Autoplay]); + +@Component({ + moduleId: module.id, + templateUrl: './creative-agency.html', +}) +export class CreativeComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + + config: SwiperOptions = { + loop: true, + slidesPerView: "auto", + spaceBetween: 30, + speed: 2500, + autoplay:{ + delay: 3000, + disableOnInteraction: false, + }, + breakpoints:{ + 320: { + slidesPerView: 1.7, + }, + 600: { + slidesPerView: 3, + }, + 1000: { + slidesPerView: 5, + }, + 1600: { + slidesPerView: 8, + }, + }, + modules: [ Autoplay], + }; + + config1: SwiperOptions = { + loop: true, + slidesPerView: "auto", + spaceBetween: 30, + speed: 2500, + autoplay:{ + delay: 3000, + disableOnInteraction: false, + }, + breakpoints:{ + 450: { + slidesPerView: 1.2, + }, + 700: { + slidesPerView: 1.6, + }, + 1000: { + slidesPerView: 2, + }, + 1600: { + slidesPerView: 3.5, + }, + }, + modules: [ Autoplay], + }; + + @Input() feedbacks: any = [ + { + id: 1, + name: 'Marvin McKinney', + role: 'Founder of Triple IT', + thumbnail: '/assets/images/creative/client-img1.png', + message: + "There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by alteration in some form, injected humour, or randomised words which don't look even slightly believable.", + }, + { + id: 2, + name: 'Leslie Alexander', + role: 'Founder of Dope tech', + thumbnail: '/assets/images/creative/client-img2.png', + message: + " There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by alteration in some form, injected humour, or randomised words which don't look even slightly believable.", + }, + ]; + + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/crypto.html b/src/app/crypto.html new file mode 100644 index 0000000..c1d59f3 --- /dev/null +++ b/src/app/crypto.html @@ -0,0 +1,1365 @@ +
+
+
+ banner-lefticon + banner-rightIcon +
+
+
+

+ Building the future of Crypto Revolution +

+

Cryptography, encryption process of transforming information referred to as plain text using done.

+ +
+
+ crypto-banner +
+
+
+
+
+ +
+
+
+
+
+
+ + + + + +

BTC

+ BITCON +
+
+ + + +
+
+
+
+
+

$56,623.54

+

1.41%

+
+
+ +
+
+
+
+
+
+ + + + + + + + + + + + + + +

ETH

+ ETHEREUM +
+ + + +
+
+
+
+

$4,267.90

+

-2.22%

+
+
+ +
+
+
+
+
+
+ + + + + +

BNB

+ BINANCE +
+
+ + + +
+
+
+
+
+

$587.74

+

0.82%

+
+
+ +
+
+
+
+
+
+ + + + + +

USDT

+ TETHER +
+
+ + + +
+
+
+
+
+

$0.9998

+

-0.03%

+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
ABOUT US
+

+ You do the business, we’ll handle the money. +

+

+ With the right credit card, you can improve your financial life by building credit, earning rewards and saving money. But with hundreds + of credit cards on the market. +

+ +
+
+ crypto-about-img +
+
+
+
+ +
+
+
+
+
+
+
+ {{0}} +
+ Active Users +
+
+
+
+
+
+
+ {{0}} +
+ Already Earned +
+
+
+
+
+
+
+ {{0}} +
+ Avg Brating +
+
+
+
+
+
+
+ {{0}} +
+ Collections +
+
+
+
+
+
+ +
+
+
+
+
We Can Shape Your Vision
+

You do the business, we’ll handle the money.

+
+
+
+
+ + + + + + + + + + + + +
+
+

Execution from experts

+

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

+
+
+
+
+ + + +
+
+

Provides a different perspective

+

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

+
+
+
+
+ + + + + + + + + + + + +
+
+

Trailing Stop

+

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

+
+
+
+
+ + + + + + + + + + + + + + +
+
+

Latest Information

+

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

+
+
+
+
+ + + + + + + + + + + + + +
+
+

We Provide Quality Content

+

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

+
+
+
+
+ + + + + + + + + + + + +
+
+

Platform Fees

+

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

+
+
+
+
+
+
+ +
+
+
+
Crypto & NFT
+

All your crypto and NFTs in one place

+
+
+
+
+ + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + +
+
+
+
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + +
+
+
+
+ + + + +
+
+
+
+ + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + +
+
+
+
+
+ +
+
+

We featured on popular partners like

+
+
+ + + + + + + + + + +
+
+ + + + + + + + +
+
+ + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+
+
+
+ +
+
+
+
Why choose us?
+

Buy Cryptocurrency with Theme

+
+

+ You can combine all the Techwind templates into a single one, you can take a component from the Application theme and use it in the + Website. +

+
+
+ + + +
+
+

+ Digital Marketing Solutions for Tomorrow +

+
+
+
+
+ + + +
+
+

+ Our Talented & Experienced Marketing Agency +

+
+
+
+
+ + + +
+
+

+ Create your own skin to match your brand +

+
+
+ +
+
+
+
+ + + +
+ +
+ +
+
+
+
+
Get In Touch.
+

Ready to Get Started?

+ form-img +
+
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+
diff --git a/src/app/crypto.ts b/src/app/crypto.ts new file mode 100644 index 0000000..8ad954d --- /dev/null +++ b/src/app/crypto.ts @@ -0,0 +1,163 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './crypto.html', +}) +export class CryptoComponent { + storeData: any; + // success chart + successChartOptions: any = { + chart: { + height: 55, + type: 'area', + sparkline: { + enabled: true, + }, + }, + stroke: { + width: 2, + curve: 'smooth', + }, + markers: { + size: 0, + }, + colors: ['#12AF97'], + fill: { + opacity: 1, + type: 'gradient', + gradient: { + shadeIntensity: 1, + inverseColors: !1, + opacityFrom: 0.3, + opacityTo: 0.05, + stops: [50, 100], + }, + }, + grid: { + padding: { + top: 0, + bottom: 0, + left: 0, + }, + }, + tooltip: { + x: { + show: false, + }, + y: { + title: { + formatter: () => { + return ''; + }, + }, + }, + }, + responsive: [ + { + breakPoint: 576, + options: { + chart: { + height: 95, + }, + grid: { + padding: { + top: 45, + bottom: 0, + left: 0, + }, + }, + }, + }, + ], + }; + + successChartSeries = [ + { + data: [9, 36, 12, 59, 41, 66], + }, + ]; + + // danger chart + dangerChartOptions: any = { + chart: { + height: 55, + type: 'area', + sparkline: { + enabled: true, + }, + }, + stroke: { + width: 2, + curve: 'smooth', + }, + markers: { + size: 0, + }, + colors: ['#FF0000'], + fill: { + opacity: 1, + type: 'gradient', + gradient: { + shadeIntensity: 1, + inverseColors: !1, + opacityFrom: 0.3, + opacityTo: 0.05, + stops: [50, 100], + }, + }, + grid: { + padding: { + top: 0, + bottom: 0, + left: 0, + }, + }, + tooltip: { + x: { + show: false, + }, + y: { + title: { + formatter: () => { + return ''; + }, + }, + }, + }, + responsive: [ + { + breakPoint: 576, + options: { + chart: { + height: 95, + }, + grid: { + padding: { + top: 45, + bottom: 0, + left: 0, + }, + }, + }, + }, + ], + }; + + dangerChartSeries = [ + { + data: [55, 41, 69, 20, 44, 19], + }, + ]; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/data.service.spec.ts b/src/app/data.service.spec.ts new file mode 100644 index 0000000..38e8d9e --- /dev/null +++ b/src/app/data.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { DataService } from './data.service'; + +describe('DataService', () => { + let service: DataService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(DataService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/data.service.ts b/src/app/data.service.ts new file mode 100644 index 0000000..94597d2 --- /dev/null +++ b/src/app/data.service.ts @@ -0,0 +1,389 @@ +import { Injectable } from "@angular/core"; +import { HttpClient, HttpHeaders } from "@angular/common/http"; +import { Observable } from "rxjs"; + +@Injectable({ + providedIn: "root", +}) +export class DataService { + private url = "https://api.wrdpwd.com/soap/callWebService"; + // private url = + // "https://clin.CMCVellore.ac.in/newconference/ConferencePay.asmx"; + prod_cred = { + userName: "UMRCETS", + password: "us8FaGH5", + program: "TSURCME", + }; + + private test_url = + "https://clin.CMCVellore.ac.in/TestConference/ConferencePay.asmx"; + test_cred = { + userName: "UMRESTC", + password: "zEVjHc9Y", + program: "TSURCME", + }; + + constructor(private httpClient: HttpClient) {} + + // Method to send the SOAP request + sendSOAPRequestForStatus(formData: any): Observable { + const headers = new HttpHeaders({ + "Content-Type": "application/soap+xml; charset=utf-8", + SOAPAction: "http://www.cmch-vellore.edu/CONFONLINEPAYSTATUS", + }); + + const soapBody = this.generateSOAPBodyForStatus(this.prod_cred, formData); + + console.log(soapBody); + + return this.httpClient.post(this.url, soapBody, { + headers, + responseType: "text", + }); + } + + + + // Method to send the SOAP request + sendSOAPRequest(formData: any): Observable { + const headers = new HttpHeaders({ + "Content-Type": "application/soap+xml; charset=utf-8", + SOAPAction: "http://www.cmch-vellore.edu/NEWCONFONLINEPAYSAVE", + }); + + const soapBody = this.generateSOAPBody(this.prod_cred, formData); + + console.log(soapBody); + + return this.httpClient.post(this.url, soapBody, { + headers, + responseType: "text", + }); + } + + // Generate the SOAP body from form data + private generateSOAPBodyForStatus(userDetails: any, formData: any): string { + + const soapXML = ` + + + + ${userDetails.userName} + ${userDetails.password} + ${userDetails.program} + + + + + ${this.generateFieldsXML(formData)} + + + + `; + + return soapXML; + } + // Generate the SOAP body from form data + private generateSOAPBody(userDetails: any, formData: any): string { + const soapXML = ` + + + + ${userDetails.userName} + ${userDetails.password} + ${userDetails.program} + + + + + ${this.generateFieldsXML(formData)} + + + + `; + + return soapXML; + } + + // Generate the fields in SOAP XML format from form data + private generateFieldsXML(formData: any): string { + let fieldsXML = ""; + + // Iterate through form data and generate XML for each field + for (const key in formData) { + if (formData.hasOwnProperty(key)) { + fieldsXML += `${formData[key]}`; + } + } + + return fieldsXML; + } + + events = [ + { + id: 1, + code: "TSURCME", + year: "2023", + subject: "CME on ", + title: " Advances in Chest Trauma Management ", + subTitle : "ACTraM 2023", + date: "13 & 14, October - 2023", + venue: [ + { + title: "Symposium (Hybrid/ In person) ", + date: "13.10.2023", + address: "Conference Hall 7th floor, A-Block, CMC Vellore Ranipet Campus", + }, + { + title: "Cadaveric Workshop ", + date: "14.10.2023", + address: "Antomy Dissection Hall, CMC Vellore Bagayam Campus", + info: "Limited seats & in person only", + }, + ], + highlights: [ + "Keynote lectures by eminent national and international faculty", + "Sessions oriented towards understanding the intricacies of multidisciplinary care that is needed in the management of chest trauma patients. ", + "Challenging cases discussions ", + "Specific focus on intercostal drainage, minimally invasive chest surgery in trauma, thoracic rib fixation, pain relief medications in trauma and critical care management.", + "Hands-on cadaveric training on the basic principles of surgical rib fixation", + ], + orgnisers: [ + "Dr. Sukria Nayak - Organising Chairperson", + "Dr. Joses Dany James- Convener ", + "Dr. Vijayan P -Convener", + "Dr. Srujan Lam Sharma -Convener", + "Ms. Nithya.A- Manager", + "Mr. Prabhu - Manager", + ], + + fee: [ + { desc: "Online (ISTAC Members only) - ₹500", cost: 500 }, + { desc: "Symposium (In-person) - ₹1000", cost: 1000 }, + { desc: "Workshop (Only) - ₹3500", cost: 3500 }, + { desc: "Symposium & Workshop ₹4500", cost: 5310 }, + { desc: "* (+18% GST)", cost: 5310 }, + + ], + + phone: "04172 – 224627 ", + email: "traumasurg.academic@cmcvellore.ac.in", + isActive: true, + doctors: [ + { + name: "Dr. Amit Gupta", + prof: "Professor", + at: "Division of Trauma Surgery JPNATC, AIIMS New Delhi", + id: 3, + image: "3.jpg", + }, + { + name: "Dr. Subodh Kumar", + prof: "Professor", + at: "Division of Trauma Surgery, JPNATC, AIIMS New Delhi", + id: 2, + image: "2.jpg", + }, + { + + name: "Dr. Kajal Jain ", + prof: "Professor", + at: "Trauma Anaesthesia PGIMER, Chandigarh.", + id: 1, + image: "1.jpg", + }, + { + name: "Dr. Krishnan Raghavendran ", + prof: "Professor", + at: " Division of Trauma and Acute Care Surgery, University Hospital, Ann Arbor Hospital Michigan", + id: 4, + image: "4.jpg", + }, + { + name: "Dr. Balasubramoniam", + at: "Consultant Thoracic Surgeon, Yashoda group of Hospitals, Hyderabad", + id: 5, + image: "5.jpg", + }, + { + name: "Dr. Niladri Banerjee", + prof: "Assistant Professor", + at: "Department of Surgery, AIIMS Jodhpur", + id: 8, + image: "8.jpg", + }, + { + name: "Dr. Sukria Nayak", + prof: "Professor & Head", + at: " Department of Trauma Surgery, CMC Vellore", + id: 6, + image: "6.jpg", + }, + { + name: "Dr. Ekta Rai", + prof: "Professor ", + at: "Department of Anesthesia,CMC Vellore", + id: 16, + image: "16.jpg", + }, + { + name: "Dr.Madhu Andrew Philip", + at: "Prof & Head, Department of Cardiothoracic Surgery,CMC Vellore", + id: 17, + image: "17.jpg", + }, + { + name: "Dr. Balasubramani", + prof: "Professor ", + at: "Department of Surgical ICU, CMC Vellore", + id: 18, + image: "18.jpg", + }, + { + name: "Dr. Susheel Sudheesh", + prof: "Assistant Professor", + at: "Department of Anaesthesia, CMC Vellore", + id: 10, + image: "10.jpg", + }, + { + name: "Dr. Srujan Lam Sharma", + prof: "Assistant Professor", + at: "Department of Trauma Surgery, CMC Vellore", + id: 12, + image: "12.jpg", + }, + { + name: "Dr. Vinay M Rao ", + prof: "Associate Professor", + at: "Department of Cardiothoracic, Surgery CMC Vellore", + id: 7, + image: "7.jpg", + }, + { + name: "Dr. Santhosh R Benjamin", + prof: "Associate Professor", + at: "Department of Cardiothoracic, Surgery,CMC Vellore", + id: 9, + image: "9.jpg", + }, + { + name: "Dr. Kirthi Sathyakumar ", + prof: "Associate Professor", + at: "Emergency Radiology, CMC Vellore", + id: 11, + image: "11.jpg", + }, + { + name: "Dr. Joses Dany James", + prof: "Assistant Professor", + at: "Department of Trauma Surgery, CMC Vellore", + id: 14, + image: "14.jpg", + }, + { + name: "Dr. Vijayan P", + prof: "Associate Professor", + at: "Department of Trauma Surgery, CMC Vellore", + id: 13, + image: "13.jpg", + }, + { + name: "Dr. Vignesh Kumar", + prof: "Associate Professor", + at: "Department of General Surgery, PIMS, Puducherry", + id: 15, + image: "15.jpg", + }, + + ], + }, + ]; + + getAllConferenceData(): Observable { + const url = "https://api.wrdpwd.com/soap/getAllConferenceData"; + return this.httpClient.get(url); + } + + // Create a method to send data via POST request + insertConferenceData(data: any): Observable { + const url = "https://api.wrdpwd.com/soap/insertConferenceData"; + // Define headers if needed (adjust as necessary) + const headers = new HttpHeaders({ + "Content-Type": "application/json", + }); + + // Send the POST request + return this.httpClient.post(url, data, { headers }); + } + + // Create a method to send data via POST request + updateConferenceData(id, data: any): Observable { + const url = "https://api.wrdpwd.com/soap/updateConferenceData/" + id; + // Define headers if needed (adjust as necessary) + const headers = new HttpHeaders({ + "Content-Type": "application/json", + }); + + // Send the POST request + return this.httpClient.put(url, data, { headers }); + } + + partialUpdateConferenceData(id, data: any): Observable { + const url = "https://api.wrdpwd.com/soap/partialUpdateConferenceData/" + id; + // Define headers if needed (adjust as necessary) + const headers = new HttpHeaders({ + "Content-Type": "application/json", + }); + + // Send the POST request + return this.httpClient.patch(url, data, { headers }); + } + + + getConferenceDataByRegno(id){ + const url = "https://api.wrdpwd.com/soap/getConferenceDataByRegno/" + id; + // Define headers if needed (adjust as necessary) + const headers = new HttpHeaders({ + "Content-Type": "application/json", + }); + + // Send the POST request + return this.httpClient.get(url, { headers }); + } + + + getConferenceDataByPhone(id){ + const url = "https://api.wrdpwd.com/soap/getConferenceDataByPhone/" + id; + // Define headers if needed (adjust as necessary) + const headers = new HttpHeaders({ + "Content-Type": "application/json", + }); + + // Send the POST request + return this.httpClient.get(url, { headers }); + } + + + // Create a method to send data via POST request + deleteConferenceData(id): Observable { + const url = "https://api.wrdpwd.com/soap/deleteConferenceData/" + id; + // Define headers if needed (adjust as necessary) + const headers = new HttpHeaders({ + "Content-Type": "application/json", + }); + + // Send the POST request + return this.httpClient.delete(url, { headers }); + } + + +} + +export class PaymentInfo { + Registration: string; + Transid: string; + ResultCode: string; + Result: string; + URL: string; +} diff --git a/src/app/dto/custom-http-response.ts b/src/app/dto/custom-http-response.ts new file mode 100644 index 0000000..9fce2db --- /dev/null +++ b/src/app/dto/custom-http-response.ts @@ -0,0 +1,7 @@ +export interface CustomHttpResponse { + timestamp: Date; + httpStatusCode: number; + httpStatus: string; + reason: string; + message: string; +} diff --git a/src/app/dto/user-login.spec.ts b/src/app/dto/user-login.spec.ts new file mode 100644 index 0000000..d18d057 --- /dev/null +++ b/src/app/dto/user-login.spec.ts @@ -0,0 +1,7 @@ +import {UserLogin} from './user-login'; + +describe('UserLogin', () => { + it('should create an instance', () => { + expect(new UserLogin()).toBeTruthy(); + }); +}); diff --git a/src/app/dto/user-login.ts b/src/app/dto/user-login.ts new file mode 100644 index 0000000..29fa7bf --- /dev/null +++ b/src/app/dto/user-login.ts @@ -0,0 +1,4 @@ +export class UserLogin { + username: string; + password: string; +} diff --git a/src/app/enum/WorkingStatus.ts b/src/app/enum/WorkingStatus.ts new file mode 100644 index 0000000..dc3be8d --- /dev/null +++ b/src/app/enum/WorkingStatus.ts @@ -0,0 +1,6 @@ + +export enum WorkingStatus { + ACTIVE = 'ACTIVE', + ON_LEAVE = 'ON_LEAVE', + RETIRED = 'RETIRED' +} \ No newline at end of file diff --git a/src/app/enum/header-type.enum.ts b/src/app/enum/header-type.enum.ts new file mode 100644 index 0000000..425d153 --- /dev/null +++ b/src/app/enum/header-type.enum.ts @@ -0,0 +1,4 @@ +export enum HeaderType { + AUTHORIZATION = 'Authorization', + JWT_TOKEN = 'Jwt-Token' +} diff --git a/src/app/enum/role.enum.ts b/src/app/enum/role.enum.ts new file mode 100644 index 0000000..3588ea6 --- /dev/null +++ b/src/app/enum/role.enum.ts @@ -0,0 +1,9 @@ +export enum Role { + + SUPER_ADMIN = 'ROLE_SUPER_ADMIN', + ADMIN = 'ROLE_ADMIN', + MANAGER = 'ROLE_MANAGER', + HR = 'ROLE_HR', + USER = 'ROLE_USER' + +} diff --git a/src/app/error.ts b/src/app/error.ts new file mode 100644 index 0000000..ff0194d --- /dev/null +++ b/src/app/error.ts @@ -0,0 +1,18 @@ +import { Component } from '@angular/core'; +@Component({ + template: ` +
+
+
+

404

+

Ooops!

+

The page you requested was not found!

+ Back To Home +
+
+
+ `, +}) +export class ErrorComponent { + constructor() {} +} diff --git a/src/app/event-concert.html b/src/app/event-concert.html new file mode 100644 index 0000000..2cf1d47 --- /dev/null +++ b/src/app/event-concert.html @@ -0,0 +1,1055 @@ +
+
+
+
+ +
+
+ +
+ +
+
+

Find amazing events

+ +
+

your city

+ +
+ +
+
+
+
+ +
+ + +
+
+
+ + + +
+
+
+

Friday, 12 August 2023

+
+
+ + + + + +

New York

+
+
+

Sparkling dance sunday night

+ +
+
+
+ + + +
+
+
+

Saturday, 30 May 2023

+
+
+ + + + + +

California

+
+
+

Musical evening with Elbert

+ +
+
+
+
+
+ +
+ +
+
+

+ ABOUT US + How we launched +

+
+ Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making + it over 2000 years old. +
+
+
+
+ + + +
+
+

Get access to the full conference experience.

+

+ Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature fror 45 BC, + making it over 2000 years old. +

+ read more +
+
+
+
+

feel the rhythm of your heart's music

+

+ Lorem Ipsum is simply dummy text of the printing and setting industry. Lorem Ipsum has been the industry's standard dummy text ever + since the 1500s. +

+ read more +
+
+ + + +
+
+
+
+ + +
+
+
+ +
+
+
+
+ +
+ +
+
+

+ PARTY HOSTS + Meet our +

+
+ If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. +
+
+ + +
+
+ +
+
Marty Blum
+

Owner

+
+
+ +
+
+ +
+
Marty Blum
+

Owner

+
+
+ +
+
+ +
+
Marty Blum
+

Owner

+
+
+ +
+
+ +
+
Marty Blum
+

Owner

+
+
+ +
+
+ +
+
Marty Blum
+

Owner

+
+
+ +
+
+ +
+
Marty Blum
+

Owner

+
+
+
+
+
+ +
+
+
+
+
+ {{0}} +
+

MUSIC HOURS

+
+
+
+ {{0}} +
+

ARTISTS

+
+
+
+ {{0}} +
+

ACRES OF FUN

+
+
+
+ {{0}} +
+

CAPACITY

+
+
+
+
+ +
+ +
+
+
+

+ PHOTOGALLERY + Gallery +

+
+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ +
+ +
+
+

+ UPCOMING PARTES + Dates for our +

+

+ View our event calendar to see upcoming events. Purchase tickets, VIP Bar Cards, or reserve VIP tables with bottle service. +

+
+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+
+ +
+
+
+

Sat, Feb 11

+ | +

11:30 AM

+ | +
+ + + + + +

New York

+
+
+ Team With At Least Three Conference Titles +

By Marty Blum, Spark 99 Event Management

+
+
+
+
+ +
+
+
+

Fri, Mar 17

+ | +

10:00 PM

+ | +
+ + + + + +

California

+
+
+ Born to Die: Lana Del Anniversary Dance Party +

By Charlotte Laws, #TheRnBParty

+
+
+
+
+ +
+
+
+

Sat, Feb 25

+ | +

6:00 PM

+ | +
+ + + + + +

Texas

+
+
+ Certified Saturdays At Karta Lounge #1 Vibes Party in The City +

By Jose Esteves, Karta Lounge & Event Space

+
+
+
+
+ +
+
+
+

Fri, Mar 3

+ | +

9:00 PM

+ | +
+ + + + + +

Brooklyn, NY

+
+
+ Sunday Jazz - Underground Social Club +

By Bill Brough, House of Yes

+
+
+
+
+ +
+
+
+

Sun, Feb 12

+ | +

3:30 AM

+ | +
+ + + + + +

Seattle

+
+
+ FREE Live Jazz Music - Jam session & jazz Open Mic - Sundays! +

By Vicente Sarmiento, orei Jazz & Company

+
+
+
+
+ +
+
+
+

Wed, Feb 15

+ | +

7:30 PM

+ | +
+ + + + + +

San Francisco

+
+
+ The Grand Reunion Concert of The R&B/ Funk Band SKYY +

By Alan Lowenthal, Ira Zadikow

+
+
+
+
+
+ +
+
+
+

Sun, Feb 12

+ | +

3:30 AM

+ | +
+ + + + + +

Seattle

+
+
+ FREE Live Jazz Music - Jam session & jazz Open Mic - Sundays! +

By Vicente Sarmiento, orei Jazz & Company

+
+
+
+
+
+
+ +
+
+
+

Wed, Feb 15

+ | +

7:30 PM

+ | +
+ + + + + +

San Francisco

+
+
+ The Grand Reunion Concert of The R&B/ Funk Band SKYY +

By Alan Lowenthal, Ira Zadikow

+
+
+
+
+
+
+ +
+
+
+

Sun, Feb 12

+ | +

3:30 AM

+ | +
+ + + + + +

Seattle

+
+
+ FREE Live Jazz Music - Jam session & jazz Open Mic - Sundays! +

By Vicente Sarmiento, orei Jazz & Company

+
+
+
+
+
+
+ +
+
+
+

Wed, Feb 15

+ | +

7:30 PM

+ | +
+ + + + + +

San Francisco

+
+
+ The Grand Reunion Concert of The R&B/ Funk Band SKYY +

By Alan Lowenthal, Ira Zadikow

+
+
+
+
+
+
+ +
+
+
+

Sun, Feb 12

+ | +

3:30 AM

+ | +
+ + + + + +

Seattle

+
+
+ FREE Live Jazz Music - Jam session & jazz Open Mic - Sundays! +

By Vicente Sarmiento, orei Jazz & Company

+
+
+
+
+
+
+ +
+
+
+

Wed, Feb 15

+ | +

7:30 PM

+ | +
+ + + + + +

San Francisco

+
+
+ The Grand Reunion Concert of The R&B/ Funk Band SKYY +

By Alan Lowenthal, Ira Zadikow

+
+
+
+
+
+
+ +
+
+ +
+
+

+ GENERAL SPONSORS + Our lovely clients +

+
+ +
+
+ +
+
+ +

+ Buy tickets to attend our event +

+
+
+
+
+
+
FIND US
+

+ 401 NE Ravenna Blvd, Seattle,
+ Washington -98115 +

+
MESSAGE US
+ info@plurk.com + +1-202-555-0146 + +
+
+ +
+
+
+
+
+
diff --git a/src/app/event-concert.ts b/src/app/event-concert.ts new file mode 100644 index 0000000..95925b7 --- /dev/null +++ b/src/app/event-concert.ts @@ -0,0 +1,74 @@ +import { Component } from '@angular/core'; +import SwiperCore, { SwiperOptions, Autoplay } from 'swiper'; +import { Store } from '@ngrx/store'; +import { Lightbox, LightboxConfig } from 'ngx-lightbox'; + +// install Swiper modules +SwiperCore.use([Autoplay]); + +@Component({ + moduleId: module.id, + templateUrl: './event-concert.html', +}) +export class EventComponent { + storeData: any; + activeTab = 'all-events'; + items = [ + { src: '/assets/images/event-concert/gallery1.jpg', thumb: '/assets/images/event-concert/gallery1.jpg' }, + { src: '/assets/images/event-concert/gallery2.jpg', thumb: '/assets/images/event-concert/gallery2.jpg' }, + { src: '/assets/images/event-concert/gallery3.jpg', thumb: '/assets/images/event-concert/gallery3.jpg' }, + { src: '/assets/images/event-concert/gallery4.jpg', thumb: '/assets/images/event-concert/gallery4.jpg' }, + { src: '/assets/images/event-concert/gallery5.jpg', thumb: '/assets/images/event-concert/gallery5.jpg' }, + { src: '/assets/images/event-concert/gallery6.jpg', thumb: '/assets/images/event-concert/gallery6.jpg' }, + ]; + constructor(public store: Store, private _lightbox: Lightbox, private _lightboxConfig: LightboxConfig) { + this.initStore(); + _lightboxConfig.enableTransition = false; + _lightboxConfig.wrapAround = true; + _lightboxConfig.showImageNumberLabel = true; + _lightboxConfig.showZoom = true; + _lightboxConfig.showRotate = true; + _lightboxConfig.albumLabel = '%1 of %2'; + _lightboxConfig.positionFromTop = 0; + _lightboxConfig.disableScrolling = true; + } + open(img: string): void { + // open lightbox + const index = this.items.findIndex((d) => d.src.toLowerCase().includes(img.toLowerCase())); + this._lightbox.open(this.items, index); + } + + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 2500, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + breakpoints: { + 320: { + slidesPerView: 2, + }, + 600: { + slidesPerView: 3, + }, + 1000: { + slidesPerView: 4, + }, + 1600: { + slidesPerView: 6, + }, + }, + modules: [Autoplay], + }; + + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/faq.html b/src/app/faq.html new file mode 100644 index 0000000..661220e --- /dev/null +++ b/src/app/faq.html @@ -0,0 +1,556 @@ +
+
+
+
+
+
+
FAQs
+

Frequently Asked Questions

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+ +
+ + + + " +
diff --git a/src/app/faq.ts b/src/app/faq.ts new file mode 100644 index 0000000..83386e4 --- /dev/null +++ b/src/app/faq.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './faq.html', +}) +export class FaqComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/generate.yml b/src/app/generate.yml new file mode 100644 index 0000000..8dfcdcc --- /dev/null +++ b/src/app/generate.yml @@ -0,0 +1,36 @@ + +ng generate module pages/xyz --routing +ng generate component pages/xyz/header +ng generate component pages/xyz/navbar +ng generate component pages/xyz/mobile-nav +ng generate component pages/xyz/dropdown-menu +ng generate component pages/xyz/logo +ng generate component pages/xyz/sidebar-modal +ng generate component pages/xyz/responsive-menu-toggle +ng generate component pages/xyz/home +ng generate component pages/xyz/home-two +ng generate component pages/xyz/home-three +ng generate component pages/xyz/home-four +ng generate component pages/xyz/home-five +ng generate component pages/xyz/graduate-admission +ng generate component pages/xyz/campus-life +ng generate component pages/xyz/alumni +ng generate component pages/xyz/academics +ng generate component pages/xyz/academics-details +ng generate component pages/xyz/latest-news +ng generate component pages/xyz/news-details +ng generate component pages/xyz/faq +ng generate component pages/xyz/login +ng generate component pages/xyz/register +ng generate component pages/xyz/recover-password +ng generate component pages/xyz/privacy-policy +ng generate component pages/xyz/terms-conditions +ng generate component pages/xyz/coming-soon +ng generate component pages/xyz/not-found +ng generate component pages/xyz/courses +ng generate component pages/xyz/courses-details +ng generate component pages/xyz/health-care +ng generate component pages/xyz/health-care-details +ng generate component pages/xyz/events +ng generate component pages/xyz/events-details +ng generate component pages/xyz/contact-us diff --git a/src/app/gym.html b/src/app/gym.html new file mode 100644 index 0000000..47045ee --- /dev/null +++ b/src/app/gym.html @@ -0,0 +1,439 @@ +
+
+
+ +
+
+ +
+

+ Nothing but + gains here. +

+

+ Accumsan vulputate sed id blandit duis pellentesque nullam diam purus. Quisque diam pharetra, tristique non arcu eu. Integer. +

+ +
+

what you get

+
+
+ +

Customised fitness plan

+
+
+ +

keep you feet and strong

+
+
+ +

High Intensity Training

+
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+ +

+ our + popular + classes +

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.

+
+ +
+
+
+
+ +
+
+
Pilates Training
+

Controlled movements that enhance your balance, core strength, flexibility.

+ read more +
+
+
+
+ +
+
+
Aerobic Training
+

Physical activity that increases the heart rate and the body's use of oxygen.

+ read more +
+
+
+
+ +
+
+
CrossFit Workout
+

Strength and conditioning workout that is made up of functional movement.

+ read more +
+
+
+
+
+ +
+
+
+
+ +
+
+
+ +

+ why + choose + plurk +

+

+ It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop + publishing software like Aldus PageMaker including versions of Lorem Ipsum. +

+
+ +
+
+
+
+ +
+
+
+
+ + +
best coaches
+
+
+ + +
nice prices
+
+
+
+
+ +
+
+
+ +
+
+
+ +

+ JUMPSTART + YOUR + JOURNEY +

+

+ It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop + publishing software like Aldus PageMaker including versions of Lorem Ipsum. +

+
+
+
+
+
+
+ +

+ TRANSFORM + YOUR + FITNESS +

+

+ 4 rooms, 5 unique workouts, 1 location. plurk offers unrivaled fitness programming. Personal workout stations allow for a safe and + comfortable experience. Small class sizes offer a greater level of instructor and group engagement. +

+
+
+
+ +
+
+
+
+ +
+
+
+ +

+ EVOLVE + TOGETHER +

+

+ You can push yourself further with plurk. Our coaches are passionate and supportive, and our studio is outfitted with innovative + lighting and sound systems to fuel your workout. +

+
+
+
+
+ +
+
+
+ +

+ OUR + FITNESS + COACHES +

+

plurk is more than another workout, it's a comprehensive approach to fitness.

+
+
+
+ +
+

harlan hagen

+ Gym Fitness +
+
+
+ +
+

Susan Bonilla

+ Aerobics +
+
+
+ +
+

Mike Gipson

+ Pilates & Stretching +
+
+
+ +
+

Judy Chu

+ Weight Loss +
+
+
+
+
+ +
+
+
+
+
+ {{0}} +
+

Years of Expertise

+
+
+
+ {{0}} +
+

Professional Coaches

+
+
+
+ {{0}} +
+

Different Classes

+
+
+
+ {{0}} +
+

Club Members

+
+
+
+
+ +
+
+
+ +

+ TOGETHER + we + SUCCEED +

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +

+
+ + +
+
+ +
+
+
+ +

+ Articles + & + news +

+

Contrary to popular belief, Lorem Ipsum is not simply random text.

+
+
+
+
+ +
+
+
December 25, 2022
+ How to brace and breathe properly for weightlifting +

+ It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. +

+ Read More +
+
+
+
+ +
+
+
December 25, 2022
+ How to brace and breathe properly for weightlifting +

+ It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. +

+ Read More +
+
+
+
+ +
+
+
December 25, 2022
+ How to brace and breathe properly for weightlifting +

+ Various versions have evolved over the years, sometimes by accident, sometimes on purpose. +

+ Read More +
+
+
+
+
+
+ diff --git a/src/app/gym.ts b/src/app/gym.ts new file mode 100644 index 0000000..f2a5362 --- /dev/null +++ b/src/app/gym.ts @@ -0,0 +1,40 @@ +import { Component, Input } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './gym.html', +}) +export class GymComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + + @Input() feedbacks: any = [ + { + id: 1, + name: 'Marvin McKinney', + role: 'Founder of Triple IT', + thumbnail: '/assets/images/creative/client-img1.png', + message: + "There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by alteration in some form, injected humour, or randomised words which don't look even slightly believable.", + }, + { + id: 2, + name: 'Leslie Alexander', + role: 'Founder of Dope tech', + thumbnail: '/assets/images/creative/client-img2.png', + message: + " There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by alteration in some form, injected humour, or randomised words which don't look even slightly believable.", + }, + ]; + + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/healthcare.html b/src/app/healthcare.html new file mode 100644 index 0000000..227b617 --- /dev/null +++ b/src/app/healthcare.html @@ -0,0 +1,1629 @@ +
+
+
+ banner-lefticon + banner-rightIcon +
+
+
+

+ Intelligent automation for healthcare. +

+

Simplify the day-to-day operations of your employees and increase the flow of patients

+ + +
+ +
+
+
+
+ +
+
+
+
Our Specialties
+

Experience in multiple decease

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
General
+

+ We provide a general medical check - up & consultation of our best doctors team. +

+ + + + + +
+
+ + + + + + + + + + + + + + + + + + +
Nutrition
+

+ Nutrition Services treats healthy individuals as well as those being seen for acute or chronic illnesses. +

+ + + + + +
+
+ + + + + + + + + + + + + + + + + + +
Orthopedic
+

+ Our orthopedic team has completed over 7000+ surgeries and many more to come. +

+ + + + + +
+
+
+
+ +
+
+
+
Team. Peoples. Support
+

As featured with medical companies

+
+
+ +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + +

+ {{0}} +

+

Health Sections

+
+
+ + + + + + + + + + + + + + + + +

+ {{0}} +

+

Different Services

+
+
+ + + + + + + + + + + + + + + + +

+ {{0}} +

+

Satisfied Patients

+
+
+
+
+
+ +
+
+
+
+ +
+
+
+
Our Doctor’s
+

With us your Doctor’s is just click away

+
+

+ Good health is a state of mental, physical and social well being and it does not just mean the absence of disease! +

+
+
+

Always there to care for You

+
+
+ + + +
+
+
+
+

We care about your health system

+
+
+ + + +
+
+
+
+

All our team doctor has friendly

+
+
+ + + +
+
+ +
+
+
+
+ +
+
+
+
Time schedule
+

Save your valuable Time

+
+
+
+

OPENING HOURS

+
+ Monday - Friday - + 8:00 am - 11:00 pm +
+
+
+ Saturday - + 9:00 am - 8:00 pm +
+
+
+ Sunday - + 10:00 am - 1:00 pm +
+
+
+

VISITOR HOURS

+
+ Monday - Friday - + 9:00 am - 5:00 pm +
+
+
+ Saturday - + 10:00 am - 5:00 pm +
+
+
+ Sunday - + Closed +
+
+
+
+
+ +
+
+
+
Meet Our Team
+

Our experienced doctors

+
+
+ +
+
+ + + +
+
+ + + +
+ + +
+ + +
+

Ralph Edwards

+

Gastrologist

+
+ +
+ + +
+

Stella Andrew

+

Gynecologists'

+
+ +
+ + +
+

Steve johnson

+

Orthopedician

+
+ +
+ + +
+

Amy reacher

+

Dentist

+
+
+
+
+ +
+
+
+
Pricing Plan
+

Choose Affordable Prices

+
+
+
+ data-aos="fade-up" data-aos-duration="1000" +
+

Intro

+
+
    +
  • +
    + + + + +
    +

    Daily content updates

    +
  • +
  • +
    + + + + +
    +

    Unlimited downloads of FREE resources

    +
  • +
  • +
    + + + + +
    +

    Unlimited PREMIUM downloads

    +
  • +
  • +
    + + + + +
    +

    Valid commercial licenses

    +
  • +
  • +
    + + + + + + +
    +

    Advanced Search

    +
  • +
  • +
    + + + + + + +
    +

    No attribution required

    +
  • +
  • +
    + + + + + + +
    +

    Browse with no ads

    +
  • +
+
+
+
+ Monthly +
+ $39.99/month +
+ Billed every month +
+
+
+ data-aos="fade-up" data-aos-duration="1000" +
+

Base

+
+ MOST POPULAR +
+
+
    +
  • +
    + + + + +
    +

    Daily content updates

    +
  • +
  • +
    + + + + +
    +

    Unlimited downloads of FREE resources

    +
  • +
  • +
    + + + + +
    +

    Unlimited PREMIUM downloads

    +
  • +
  • +
    + + + + +
    +

    Valid commercial licenses

    +
  • +
  • +
    + + + + +
    +

    Advanced Search

    +
  • +
  • +
    + + + + +
    +

    No attribution required

    +
  • +
  • +
    + + + + +
    +

    Browse with no ads

    +
  • +
+
+
+
+ Yearly +
+ $14.99/month +
+ $179.00 every 12 months +
+
+
+
+

Pro

+
+
    +
  • +
    + + + + +
    +

    Daily content updates

    +
  • +
  • +
    + + + + +
    +

    Unlimited downloads of FREE resources

    +
  • +
  • +
    + + + + +
    +

    Unlimited PREMIUM downloads

    +
  • +
  • +
    + + + + +
    +

    Valid commercial licenses

    +
  • +
  • +
    + + + + +
    +

    Advanced Search

    +
  • +
  • +
    + + + + +
    +

    No attribution required

    +
  • +
  • +
    + + + + +
    +

    Browse with no ads

    +
  • +
+
+
+
+ Yearly +
+ $499 +
+ Billed once only +
+
+
+
+
+ + + +
+
+
+
+
Get In Touch.
+

Book Appointment

+
+ +
+
+
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+
diff --git a/src/app/healthcare.ts b/src/app/healthcare.ts new file mode 100644 index 0000000..7040467 --- /dev/null +++ b/src/app/healthcare.ts @@ -0,0 +1,82 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; +import SwiperCore, { SwiperOptions,Navigation, Autoplay } from 'swiper'; + +// install Swiper modules +SwiperCore.use([Navigation,Autoplay]); + +@Component({ + moduleId: module.id, + templateUrl: './healthcare.html', +}) +export class HealthcareComponent { + storeData: any; + feedbacks: any = [ + { + id: 1, + name: 'Jack danver', + role: 'Patient of cancer', + thumbnail: '/assets/images/testimonial3.png', + message: 'I had a great experience with doctor ralph Edward. His surgery technique is very good. i satisfied with his team members. Thank you!!', + }, + ]; + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 2500, + autoplay: { + delay: 0, + disableOnInteraction: false, + }, + modules: [Autoplay], + breakpoints: { + 320: { + slidesPerView: 1.7, + }, + 600: { + slidesPerView: 3, + }, + 1000: { + slidesPerView: 5, + }, + 1600: { + slidesPerView: 8, + }, + }, + }; + teamSliderConfig: SwiperOptions = { + loop: true, + slidesPerView: 4, + spaceBetween: 30, + breakpoints: { + 320: { + slidesPerView: 1, + }, + 600: { + slidesPerView: 2, + }, + 1000: { + slidesPerView: 3, + }, + 1600: { + slidesPerView: 4, + }, + }, + navigation: { + nextEl: '.team-swiper-button-next', + prevEl: '.team-swiper-button-prev', + }, + modules: [Navigation], + }; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/hotel-resort.html b/src/app/hotel-resort.html new file mode 100644 index 0000000..e2f022c --- /dev/null +++ b/src/app/hotel-resort.html @@ -0,0 +1,1213 @@ +
+
+
+ +
+
+
+
+
+

+ Word Best Resort In Wild Nature +

+

+ Enjoying the beach and jungle greenry has never been so easy. In our resort, you'll get our great service, friendly staff and great + seaside. +

+ +
+
+
+
+
+
+
+ +
+
+ +
+
+ + + + + + +
+
+ + + + + + +
+
+ +
+
+
+
+
+ +
+ + +
+
+

Facilities & Services

+

With our service you may enjoy the finest life in our resort.

+
+
+
+ + + + + + + + +

High Speed Wifi

+

Lorem ipsum dolor sit amet consectetur adipiscing elit ugue quam diam.

+
+
+ + + + + + + +

Pick & Drop Facility

+

Lorem ipsum dolor sit amet consectetur adipiscing elit ugue quam diam.

+
+
+ + + + + + + + + +

Smart TV

+

Lorem ipsum dolor sit amet consectetur adipiscing elit ugue quam diam.

+
+
+ + + + + + + +

Swimming Pool

+

Lorem ipsum dolor sit amet consectetur adipiscing elit ugue quam diam.

+
+
+ +
+
+ +
+
+
+
+
+
+ {{0}} +
+

Booking Month

+
+
+
+
+
+ {{0}} +
+

Visitors daily

+
+
+
+
+
+ {{0}} +
+

Positive feedback

+
+
+
+
+
+ {{0}} +
+

Awards & honors

+
+
+
+
+
+ +
+
+
+
+
Destinations
+

NEAR NICE PLACES

+
+
+ +
+
+
+
+
+
+ +
+ Recommend +

$ 189.99 USD

+
+
+ + + + + + + + + + +

05 Days

+
+
+

+ Paris Rail Day Trip +

+

Lorem ipsum dolor sit amet dolor consectetur adipiscing elit

+
+
+
+
+ +
+ Recommend +

$ 160.99 USD

+
+
+ + + + + + + + + + +

05 Days

+
+
+

+ Thames Hop-On Hop-Off +

+

Lorem ipsum dolor sit amet dolor consectetur adipiscing elit

+
+
+
+
+ +

$ 160.99 USD

+
+ + + + + + + + + + +

08 Days

+
+
+

+ Thames Hop-On Hop-Off +

+

Lorem ipsum dolor sit amet dolor consectetur adipiscing elit

+
+
+
+
+ +

$ 102.99 USD

+
+ + + + + + + + + + +

03 Days

+
+
+

+ London Eye Ticket with Skip +

+

Lorem ipsum dolor sit amet dolor consectetur adipiscing elit

+
+
+
+
+ +
+ Recommend +

$ 190.99 USD

+
+
+ + + + + + + + + + +

10 Days

+
+
+

+ Warner Bros. Studio Tour +

+

Lorem ipsum dolor sit amet dolor consectetur adipiscing elit

+
+
+
+
+ +

$ 160.99 USD

+
+ + + + + + + + + + +

12 Days

+
+
+

+ Paradise Beach, Island +

+

Lorem ipsum dolor sit amet dolor consectetur adipiscing elit

+
+
+
+
+ +
+
+
+
+
+
+

Why Choose Us

+
+ Our objective at Plurk is to bring together our visitor's societies and spirits with our own, communicating enthusiasm and + liberality in the food we share. +
+
+
+ + +
+
+
+ +
+
+
+
+
+ +
+ +
+ +
+
+
+
Some images of our hotel
+

Our Gallery

+
+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+
+
+ + + +
+
+ +
+
+
+
+

Latest News & Events

+
Excepteur sint occaecat cupidatat non proident sunt in culpa qui
+
+
+ +
+
+
+
+
+ +
+
+
+

20

+

May

+
+
+

Fusce quis justo hendrerit ultrices elit eget

+
+
+ + + + + + +

Admin

+
+
+ + + + + +

350

+
+ +
+
+
+

+ Lorem ipsum dolor amet consectetur adipisicing elit sed eiusm tempor incididunt ut lab ore dolor magna aliqua enim ad minim veniam quis + nostrud exercitation ullamco. laboris nisi ut aliquip ex ea commodo. +

+
+
+
+
+
+
+
+ 22
+ Jan +
+
+ +
+
+
+

+ Etiam Vel Neqe +

+

+ Lorem ipsum dolor sit amet consectetur elit sed do. eiusm tempor incididunt labore et dolore magna aliqua ut enim ad minim + veniam quis nostrud. +

+
+
+
+
+
+
+
+
+ 22
+ Jan +
+
+ +
+
+
+

+ Etiam Vel Neqe +

+

+ Lorem ipsum dolor sit amet consectetur elit sed do. eiusm tempor incididunt labore et dolore magna aliqua ut enim ad minim + veniam quis nostrud. +

+
+
+
+
+
+
+
+
+ 22
+ Jan +
+
+ +
+
+
+

+ Etiam Vel Neqe +

+

+ Lorem ipsum dolor sit amet consectetur elit sed do. eiusm tempor incididunt labore et dolore magna aliqua ut enim ad minim + veniam quis nostrud. +

+
+
+
+
+
+
+ +
+
+
+
+
Get In Touch.
+

Ready to Get Started?

+
+ +
+
+
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+
diff --git a/src/app/hotel-resort.ts b/src/app/hotel-resort.ts new file mode 100644 index 0000000..a07bf20 --- /dev/null +++ b/src/app/hotel-resort.ts @@ -0,0 +1,40 @@ +import { Component } from '@angular/core'; +import { Lightbox, LightboxConfig } from 'ngx-lightbox'; + +@Component({ + moduleId: module.id, + templateUrl: './hotel-resort.html', +}) +export class HotelResortComponent { + activeTab = 'cozy-room'; + items = [ + { src: '/assets/images/hotel-resort/room1.jpg', thumb: '/assets/images/hotel-resort/room1.jpg', type: 'delux-room' }, + { src: '/assets/images/hotel-resort/room2.jpg', thumb: '/assets/images/hotel-resort/room2.jpg', type: 'delux-room' }, + { src: '/assets/images/hotel-resort/room3.jpg', thumb: '/assets/images/hotel-resort/room3.jpg', type: 'cozy-room' }, + { src: '/assets/images/hotel-resort/room4.jpg', thumb: '/assets/images/hotel-resort/room4.jpg', type: 'family-suit' }, + { src: '/assets/images/hotel-resort/room5.jpg', thumb: '/assets/images/hotel-resort/room5.jpg', type: 'family-suit' }, + { src: '/assets/images/hotel-resort/room6.jpg', thumb: '/assets/images/hotel-resort/room6.jpg', type: 'modern-room' }, + ]; + constructor(private _lightbox: Lightbox, private _lightboxConfig: LightboxConfig) { + _lightboxConfig.enableTransition = false; + _lightboxConfig.wrapAround = true; + _lightboxConfig.showImageNumberLabel = true; + _lightboxConfig.showZoom = true; + _lightboxConfig.showRotate = true; + _lightboxConfig.albumLabel = '%1 of %2'; + _lightboxConfig.positionFromTop = 0; + _lightboxConfig.disableScrolling = true; + } + open(img: string): void { + // open lightbox + const index = this.getItems().findIndex((d) => d.src.toLowerCase().includes(img.toLowerCase())); + this._lightbox.open(this.getItems(), index); + } + getItems() { + if (this.activeTab.toLowerCase() === 'cozy-room') { + return this.items; + } + const imgs = this.items.filter((d) => d.type.toLowerCase() === this.activeTab.toLowerCase()) || []; + return imgs; + } +} diff --git a/src/app/index.html b/src/app/index.html new file mode 100644 index 0000000..a83d375 --- /dev/null +++ b/src/app/index.html @@ -0,0 +1,1115 @@ +
+
+
+ banner-lefticon + banner-rightIcon +
+
+
+

+ Make your team work together +

+

In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate.

+ read more +
+
+ home-banner-icon +
+
+
+
+
+ +
+
+
+
High - Impact Services
+

We help Brands with

+
+
+
+
+
+ + + + +
+ UI/UX Design + +

+ We provide services with the best designs than our designer team for your business. +

+ + + + + +
+
+
+
+
+ + + + +
+ Web Development + +

+ We help develop company websites to be more professional and attractive +

+ + + + + +
+
+
+
+
+ + + + +
+ Digital Marketing + +

+ We also help you market your products through an online marketplace. +

+ + + + + +
+
+
+
+
+
+ + +
+
+
+
+
+
What Makes us Different?
+

We bring solutions to make life easier for our customers.

+
+
+
+
+ + + + + + + + + + + +
+
+

Creativity

+

Curabitur blandit lacus porttitor ridiculus mus.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

Innovative Thinking

+

There are many variations of passages of Lorem Ipsum available

+
+
+
+
+ + + + + + + + + + + + +
+
+

Rapid Solutions

+

Contrary to popular belief, Lorem Ipsum is not simply random text.

+
+
+
+
+ + + + + + + + + + + +
+
+

Top-Notch Support

+

It has survived not only five centuries, but also the leap into electronic typesetting

+
+
+
+
+
+ box-img +
+
+
+
+
+
+
+
Our Project
+

Some of our finest work.

+
+ +
+
+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+
+
+ + project-1 +
+
Space Landing page
+

Website

+
+
+
+
+
+ + project-2 +
+
Crypto Game - UX Interface
+

Website, App

+
+
+
+
+
+ + project-3 +
+
Looking for a quiet place
+

Website

+
+
+
+
+
+ + project-4 +
+
WeTour - Travel Hero Illustration
+

Website

+
+
+
+
+
+ + project-5 +
+
Digital Art Guide
+

Branding

+
+
+
+
+
+ + project-6 +
+
Frozeverse - 3D and motion design
+

Branding, Website, App

+
+
+
+
+
+
+ +
+
+
+
Meet Our Team
+

Creative Minds

+
+
+
+
+ team-member-1 +
+

Aditya Patel

+
Chief Executive Officer
+
+
+
+ team-member-2 +
+

+ Audrey Ramirez +

+
Chief Operating Officer
+
+
+
+ team-member-3 +
+

+ James Robinson +

+
Chief Financial Officer
+
+
+
+ team-member-4 +
+

Daniel Allen

+
Chief Marketing Officer
+
+
+
+
+ +
+
+
+
Pricing Plan
+

Choose Affordable Prices

+
+
+
+
+

Intro

+
+
    +
  • +
    + + + + +
    +

    Daily content updates

    +
  • +
  • +
    + + + + +
    +

    Unlimited downloads of FREE resources

    +
  • +
  • +
    + + + + +
    +

    Unlimited PREMIUM downloads

    +
  • +
  • +
    + + + + +
    +

    Valid commercial licenses

    +
  • +
  • +
    + + + + + + +
    +

    Advanced Search

    +
  • +
  • +
    + + + + + + +
    +

    No attribution required

    +
  • +
  • +
    + + + + + + +
    +

    Browse with no ads

    +
  • +
+
+
+
+ Monthly +
+ $39.99/month +
+ Billed every month +
+
+
+
+

Base

+
+ MOST POPULAR +
+
+
    +
  • +
    + + + + +
    +

    Daily content updates

    +
  • +
  • +
    + + + + +
    +

    Unlimited downloads of FREE resources

    +
  • +
  • +
    + + + + +
    +

    Unlimited PREMIUM downloads

    +
  • +
  • +
    + + + + +
    +

    Valid commercial licenses

    +
  • +
  • +
    + + + + +
    +

    Advanced Search

    +
  • +
  • +
    + + + + +
    +

    No attribution required

    +
  • +
  • +
    + + + + +
    +

    Browse with no ads

    +
  • +
+
+
+
+ Yearly +
+ $14.99/month +
+ $179.00 every 12 months +
+
+
+
+

Pro

+
+
    +
  • +
    + + + + +
    +

    Daily content updates

    +
  • +
  • +
    + + + + +
    +

    Unlimited downloads of FREE resources

    +
  • +
  • +
    + + + + +
    +

    Unlimited PREMIUM downloads

    +
  • +
  • +
    + + + + +
    +

    Valid commercial licenses

    +
  • +
  • +
    + + + + +
    +

    Advanced Search

    +
  • +
  • +
    + + + + +
    +

    No attribution required

    +
  • +
  • +
    + + + + +
    +

    Browse with no ads

    +
  • +
+
+
+
+ Yearly +
+ $499 +
+ Billed once only +
+
+
+
+
+ + + +
+
+
+
+
Get In Touch.
+

Ready to Get Started?

+ form-img +
+
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+
diff --git a/src/app/index.ts b/src/app/index.ts new file mode 100644 index 0000000..a230c5a --- /dev/null +++ b/src/app/index.ts @@ -0,0 +1,21 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './index.html', +}) +export class IndexComponent { + storeData: any; + activeTab = 'all'; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/insurance.html b/src/app/insurance.html new file mode 100644 index 0000000..c7cf3a7 --- /dev/null +++ b/src/app/insurance.html @@ -0,0 +1,876 @@ +
+
+ +
+
+
+

+ Get Insurance
+ Policy and
+ Save  + 20%! +

+ +

+ Lorem Ipsum is simply dummy text of the printing and typesetting industry and uses Latin words combined with a handful of model words. +

+ + + Get a quote + + + + + + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+ +
+
+

know more

+ +

+ About + Company +

+ +

+ Invest in your drivers, improve their safety and reduce the risk of incidents with our compre hensive courses and seminars tailored + to the needs of your organisation. With a choice of full or half-day sessions, all are flexible to fit with. +

+ +

+ From lost luggage to unexpected medical expenses, we’re there to help when things don’t go to plan. With basic cover from only $2.84 + a day 1, Real Travel Insurance can give you affordable peace of mind when you’re travelling. +

+
+ +
+
+
+ + + + + + +
+ +
+

+
+ {{0}} +
+ Happy +

+

Customers

+
+
+ +
+
+ + + + + + + +
+ +
+

+
+ {{0}} +
+ Offers +

+

Of Insurance

+
+
+ +
+
+ + + + + + + + +
+ +
+

+
+ {{0}} +
+ Years +

+

Of Experiences

+
+
+
+
+
+
+
+ +
+
+
+
+

Why Choose Insurers Insurance...?

+
+

+ Client satisfaction is our mission. It is a long established fact that a reader will be distracted by the readable content of a + creative page It is a long established fact that a creative page It is a long established. +

+ +

+ We always try our clients to give the best support. a reader will be distracted by the readable content of a creative page It is a + long established +

+
+ +
+
+

Client Satisfy 85%

+
+
+ +
+

+ Skill + 68% +

+
+
+ +
+

Experience93%

+
+
+
+ + Know More + + + + + + +
+ +
+
+
+ 24 years Of Insurers Insurence +
+
+ +
+
+ +
+
+
+
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + + + +
+ +

Health Insurance

+ +

+ Lorem ipsum dolor sit amet consectetur adipiscing elit sed eiusmod tempor incididunt ut labore et dolore magna aliqua. Enim ad minim + veniam, quis nostrud exercitation commodo consequat. +

+ + + Get a quote + + + + + + +
+
+
+
+ +
+
+
+
+
+

+ Find an Insurance agent Call us anytime +

+ +

+ Lorem ipsum dolor sit amet consectetur adipiscing elit sed eiusmod tempor incididunt ut labore et dolore magna aliqua. Enim ad minim + veniam, quis nostrud exercitation commodo consequat. +

+
+ +
+

Toll Free

+ + +88994455819 +
+
+
+
+
+ +
+ + +
+
+
+
+ + + + +
+ +

Travel Insurance

+ +

+ Lorem ipsum dolor sit amet consectetur adipiscing elit sed eiusmod tempor incididunt ut labore et dolore magna aliqua. Enim ad minim + veniam, quis nostrud exercitation commodo consequat. +

+ + + Get a quote + + + + + + +
+ +
+ +
+
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +

Reliable partner

+ +

Lorem ipsum dolor sit amet nam sed do eiusmod tempor

+
+ +
+
+ +
+ +

Tailored Plans

+ +

Lorem ipsum dolor sit amet nam sed do eiusmod tempor

+
+ +
+
+ +
+ +

Best-in-class services

+ +

Lorem ipsum dolor sit amet nam sed do eiusmod tempor

+
+
+
+
+ +
+
+
+
+
Blog
+

Unlock the latest trends/news

+
+
+ + View All + + + +
+
+ + +
+ blog-3 +
+ Design + + 3 experiments to improve your mobile app funnel + +

+ Funnels don’t just provide you with conversion numbers, they provide you with insight into how your users behave. +

+
+ Dec 15, 2022 + + + + + +
+
+
+
+ +
+ blog-3 +
+ Marketing + + What’s growth hacking? 8 great books to learn more about it + +

+ The use of resource-light and cost-effective digital marketing tactics to help grow and retain an active user base, sell + products and... +

+
+ Dec 25, 2022 + + + + + +
+
+
+
+ +
+ blog-3 +
+ Integration + + 6 new interesting mobile apps to grow your audience on + +

+ Before I get into the advice, here’s a bit about my background and experience with growing audiences for creative work. +

+
+ Nov 06, 2022 + + + + + +
+
+
+
+ +
+ blog-3 +
+ Design + + 3 experiments to improve your mobile app funnel + +

+ Funnels don’t just provide you with conversion numbers, they provide you with insight into how your users behave. +

+
+ Dec 15, 2022 + + + + + +
+
+
+
+ +
+ blog-3 +
+ Marketing + + What’s growth hacking? 8 great books to learn more about it + +

+ The use of resource-light and cost-effective digital marketing tactics to help grow and retain an active user base, sell + products and... +

+
+ Dec 25, 2022 + + + + + +
+
+
+
+ +
+ blog-3 +
+ Integration + + 6 new interesting mobile apps to grow your audience on + +

+ Before I get into the advice, here’s a bit about my background and experience with growing audiences for creative work. +

+
+ Nov 06, 2022 + + + + + +
+
+
+
+
+
+
+ +
+ +
+ +
+
+
+
+
Get In Touch.
+

Ready to Get Started?

+
+ form-img + +
+
+
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+
diff --git a/src/app/insurance.ts b/src/app/insurance.ts new file mode 100644 index 0000000..a543877 --- /dev/null +++ b/src/app/insurance.ts @@ -0,0 +1,59 @@ +import { Component, Input } from '@angular/core'; +import SwiperCore, { SwiperOptions, Autoplay, Navigation } from 'swiper'; +import { Store } from '@ngrx/store'; + +// install Swiper modules +SwiperCore.use([Autoplay]); + +@Component({ + moduleId: module.id, + templateUrl: './insurance.html', +}) +export class InsuranceComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + breakpoints: { + 640: { + slidesPerView: 2, + }, + 1024: { + slidesPerView: 3, + }, + }, + navigation: { + nextEl: '.blog-slider-button-next', + prevEl: '.blog-slider-button-prev', + }, + modules: [Navigation, Autoplay], + }; + + @Input() feedbacks: any = [ + { + id: 1, + name: 'Allan Branch', + role: 'CEO of Lifted', + thumbnail: '/assets/images/modern-saas/client-1.png', + message: + "There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable.", + }, + ]; + + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/job-placement.html b/src/app/job-placement.html new file mode 100644 index 0000000..26a31d1 --- /dev/null +++ b/src/app/job-placement.html @@ -0,0 +1,844 @@ +
+
+
+ + + + + + + + + + + + + + + + +
+
+
+
+

Get Your Developers Job With Plurk.

+

+ Jobs is a curated job board of the best jobs for developers, designers and marketers in the tech industry. +

+
+
+ + + + + + + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+ +
+ +
+
+

+ FIND YOUR CAREER +

+
+
+ + + + + + +
+ {{0}} +
+

Active workers

+
+
+ + + + + +
+ {{0}} +
+

Companies

+
+
+ + + + + + + +
+ {{0}} +
+

Jobs posted

+
+
+ + + + + + + + + +
+ {{0}} +
+

Countries

+
+
+
+
+ +
+
+
+

FEATURED JOBS

+
Know your worth and find the job that qualify your life
+
+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+ +
Dribbble
+

Customer Support Agent

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet.

+ +

Full Time

+
+ +
+ +
Dell
+

Software Engineer

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet.

+ +

Full Time

+
+
+ +
Apple
+

Senior Product Designer

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet.

+ +

Part Time

+
+
+ +
+
+ +
+
+
+
+

+ Make the most of growth opportunities +

+

+ Our have to be burning with an idea, or a problem, or a wrong that you want to right. If you're not passionate enough from the start, + you'll never stick it out. +

+
    +
  • + + Donec bibendum nulla vehicula. +
  • +
  • + + Proin congue nisl, quis pellentesque. +
  • +
  • + + Ut accumsan dignissim gravida +
  • +
  • + + Mauris faucibus a augue. +
  • +
+
+
+
+
+ +
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+
+ +
+
Post a featured job
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Tincidunt sit venenatis, vulputate tristique fringilla ut. Vitae pulvina. +

+ Post a featured job +
+
+
+ +
+
Post a free job
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Tincidunt sit venenatis, vulputate tristique fringilla ut. Vitae pulvina. +

+ Post a free job +
+
+
+
+
+ +
+
+
+
+

FROM BLOG

+
Check out our latest blog posts
+
+ View All Post +
+
+
+ +
+
+

April 30, 2020 / Announcement

+

Why your client needs a responsive website

+ Reade more +
+
+
+ +
+
+

April 30, 2020 / Announcement

+

Why your client needs a responsive website

+ Reade more +
+
+
+
+
+ +
+
+
+
+
Get In Touch.
+

Ready to Get Started?

+
+ form-img + +
+
+
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+
diff --git a/src/app/job-placement.ts b/src/app/job-placement.ts new file mode 100644 index 0000000..95da99e --- /dev/null +++ b/src/app/job-placement.ts @@ -0,0 +1,53 @@ +import { Component, Input } from '@angular/core'; +import SwiperCore, { SwiperOptions, Autoplay } from 'swiper'; +import { Store } from '@ngrx/store'; + +// install Swiper modules +SwiperCore.use([Autoplay]); + +@Component({ + moduleId: module.id, + templateUrl: './job-placement.html', +}) +export class JobPlacementComponent { + storeData: any; + + activeTab = 'all-jobs'; + constructor(public store: Store) { + this.initStore(); + } + + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 2500, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + breakpoints: { + 320: { + slidesPerView: 2, + }, + 600: { + slidesPerView: 3, + }, + 1000: { + slidesPerView: 4, + }, + 1600: { + slidesPerView: 6, + }, + }, + modules: [Autoplay], + }; + + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/layout/footer.html b/src/app/layout/footer.html new file mode 100644 index 0000000..7e7d5f2 --- /dev/null +++ b/src/app/layout/footer.html @@ -0,0 +1,153 @@ +
+
+
+ + + footer-shape + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ Copyright© {{ currYear }} + rootxwire Technologies Pvt. Ltd. +
+
+ Need help? Visit the + Contact Us +
+
+
+
diff --git a/src/app/layout/footer.ts b/src/app/layout/footer.ts new file mode 100644 index 0000000..4c710db --- /dev/null +++ b/src/app/layout/footer.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; + +@Component({ + moduleId: module.id, + selector: 'footer', + templateUrl: './footer.html', +}) +export class FooterComponent { + currYear: number = new Date().getFullYear(); + constructor() {} + ngOnInit() {} +} diff --git a/src/app/layout/header.html b/src/app/layout/header.html new file mode 100644 index 0000000..280a79f --- /dev/null +++ b/src/app/layout/header.html @@ -0,0 +1,287 @@ +
+
+ logo +
+
+ +
    + +
  • + +
  • +
+ +
+
+
diff --git a/src/app/layout/header.ts b/src/app/layout/header.ts new file mode 100644 index 0000000..d0400b2 --- /dev/null +++ b/src/app/layout/header.ts @@ -0,0 +1,38 @@ +import { Component, Input } from '@angular/core'; +import { Store } from '@ngrx/store'; +import { Router } from '@angular/router'; + +@Component({ + moduleId: module.id, + selector: 'header', + templateUrl: './header.html', +}) +export class HeaderComponent { + storeData: any; + showMenu = false; + showSearch = false; + constructor(public store: Store, public router: Router) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } + + // Mobile menu js + toggleMenu() { + if (window.innerWidth < 1024) { + this.showMenu = !this.showMenu; + } else { + this.showMenu = false; + } + } + + // Search Bar - Header + toggleSearch() { + this.showSearch = !this.showSearch; + } +} diff --git a/src/app/marketing.html b/src/app/marketing.html new file mode 100644 index 0000000..add5d47 --- /dev/null +++ b/src/app/marketing.html @@ -0,0 +1,2123 @@ +
+
+
+ banner-lefticon + banner-rightIcon +
+
+
+
+

+ We take care of your + business. +

+

We believe that the power of marketing & SEO performance helps businesses to grow.

+ +
+
+ +
+
+
+
+ +
+ +
+ +
+
+
+
Our service
+

High impact service for your business growth

+
+ +
+
+ + + + + + + + + +

SEO Optimization

+

+ We implement the best SEO strategies that helps you reach interested customers on a global scale, thus helping you achieve more online + presence. +

+ + + + + +
+
+ + + + + + + +

Growth rating

+

+ Our one of most valuable service is this, growth your business through digital marketing & advertising. Move forward your business with + growth rating. +

+ + + + + +
+
+ + + + + + + + + +

Content Marketing

+

+ You want to create content that helps them make better decisions and that establishes your business as THE authority in the process. Do + it right & get your result. +

+ + + + + +
+
+
+
+ +
+
+
+
Who we are
+

Our commitments to business owner

+
+ +
+
+
+
+ {{0}} +
+ Year in Business +
+
+ + + + + + + + + + + +
+
+ +
+
+
+ {{0}} +
+ Team Members +
+
+ + + + + + + + + + + +
+
+ +
+
+
+ {{0}} +
+ Happy Clients +
+
+ + + + + + + + + + + +
+
+ +
+
+
+ {{0}} +
+ Project Done +
+
+ + + + + + + + + + + +
+
+
+
+
+ +
+
+
+
+ +
+
+
+ + + + + + +
+
+
How it works
+

A Simple, yet effective three step process.

+
+
+
+
+

1

+

Project Idea

+
+
+
+

2

+

Marketing Plan

+
+
+
+ + + +

3

+

Growth & Scale

+
+
+
+
+
+
+
+ +
+
+
+
+
+
Our marketing agency
+

Business who achieved pro results

+
+

+ We admire that business to pro level which is highly impacts on growth revenues and marketing strength. +

+
+
+
+ + + +
+
+
Corporate Financial advisory
+
+
+
+
+ + + +
+
+
High growth revenues in marketing service.
+
+
+
+
+ + + +
+
+
Get full contact support from our community.
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+
+
Our core value
+

The core values behind our work

+
+
+
+
+

Execution

+

+ Successful businesses create a marketing system that help them stay on top of marketing activities. +

+
+
+ + + +
+
+
+
+

Accountability

+

+ Accountability allows marketing to take respon- sibility for the profit or loss from investments in marketing activities and + demonstrate. +

+
+
+ + + +
+
+
+
+

Growth

+

+ Growth marketing is the process of using data gained through marketing campaigns and experimentation to drive growth +

+
+
+ + + +
+
+
+
+

Team Work

+

+ Marketing can be defined as all the different activities that are involved in making products available to satisfy the needs of the + customers. +

+
+
+ + + + + + + + +
+
+
+
+
+ +
+
+
+
Meet Our Team
+

Our experienced core members

+
+
+ +
+
+ + + +
+ +
+ + + +
+ + + + + + +
+ +
+

James Hudson

+

CEO & co-founder

+
+ + + + + +
+ +
+

Phill huges

+

Head of SEO

+
+ + + + + +
+ +
+

Miranda Summers

+

Head of Sales

+
+ + +
+ + + +
+ +
+

John carter

+

Head of marketing

+
+
+
+
+
+ +
+
+
+
Pricing Plan
+

Choose Affordable Prices

+
+
+
+
+
Intro
+
+
+
+ + + + +
+
+

Social Media Marketing

+
+
+
+
+ + + + +
+
+

SEO: Search Engine Optimization

+
+
+
+
+ + + + +
+
+

Paid Advertising

+
+
+
+
+ + + + +
+
+

Normal Support

+
+
+
+
+ + + + + + +
+
+

Advanced Analytics

+
+
+
+
+ + + + + + +
+
+

Conversion Optimization

+
+
+
+
+ + + + + + +
+
+

Browse with no ads

+
+
+
+
+ +
+
Billed every month
+
+
+
+
Base
+
+
+ + + + +
+
+
+ + + + +
+
+

Social Media Marketing

+
+
+
+
+ + + + +
+
+

SEO: Search Engine Optimization

+
+
+
+
+ + + + +
+
+

Paid Advertising

+
+
+
+
+ + + + +
+
+

Normal Support

+
+
+
+
+ + + + +
+
+

Advanced Analytics

+
+
+
+
+ + + + +
+
+

Conversion Optimization

+
+
+
+
+ + + + +
+
+

Browse with no ads

+
+
+
+
+ +
+
Billed every month
+
+
+
+
Base
+
+
+
+ + + + +
+
+

Social Media Marketing

+
+
+
+
+ + + + +
+
+

SEO: Search Engine Optimization

+
+
+
+
+ + + + +
+
+

Paid Advertising

+
+
+
+
+ + + + +
+
+

Normal Support

+
+
+
+
+ + + + +
+
+

Advanced Analytics

+
+
+
+
+ + + + +
+
+

Conversion Optimization

+
+
+
+
+ + + + +
+
+

Browse with no ads

+
+
+
+
+ +
+
Billed every month
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + +
+
+
+
Testimonial
+

Feedback from our clients

+
+ +
+
+ +
+
+
+
+
Get In Touch.
+

Ready to Get Started?

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+
diff --git a/src/app/marketing.ts b/src/app/marketing.ts new file mode 100644 index 0000000..2bb2cf0 --- /dev/null +++ b/src/app/marketing.ts @@ -0,0 +1,84 @@ +import { Component, Input } from '@angular/core'; +import { Store } from '@ngrx/store'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay } from 'swiper'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); + +@Component({ + moduleId: module.id, + templateUrl: './marketing.html', +}) +export class MarketingComponent { + storeData: any; + activeTab = 'all'; + @Input() feedbacks: any = [ + { + id: 1, + name: 'Allan Branch', + role: 'CEO of Lifted', + thumbnail: '/assets/images/testimonial2.png', + message: + 'An amazing services. We have a great business relationship with this agency, They help bring our vision to life in a way that makes sense. SEO work execute really well. great & phenomenal experience.', + }, + ]; + config1: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 2500, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + modules: [Autoplay], + breakpoints: { + 320: { + slidesPerView: 2, + }, + 600: { + slidesPerView: 3, + }, + 1000: { + slidesPerView: 4, + }, + 1600: { + slidesPerView: 6, + }, + }, + }; + config2: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + navigation: { + nextEl: '.swiper-button-next1', + prevEl: '.swiper-button-prev2', + }, + modules: [Navigation], + breakpoints: { + 320: { + slidesPerView: 1, + }, + 600: { + slidesPerView: 2, + }, + 1000: { + slidesPerView: 3, + }, + 1600: { + slidesPerView: 4, + }, + }, + }; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/model/Professor.ts b/src/app/model/Professor.ts new file mode 100644 index 0000000..f63a35d --- /dev/null +++ b/src/app/model/Professor.ts @@ -0,0 +1,17 @@ + +import { WorkingStatus } from "../enum/WorkingStatus"; + +export class Professor { + // id : number; + professorId: string; // UUID + firstName: string; + lastName: string; + email: string; + department: string; + position: string; + officeLocation: string; + status: WorkingStatus; // Assuming status is represented as a string in the DTO + joinDate: Date; // LocalDateTime as a string + profileImageUrl?: string; // Optional, URL to the profile image + // profileImage?: File; // Optional, used for uploading profile images + } \ No newline at end of file diff --git a/src/app/model/file-upload.status.spec.ts b/src/app/model/file-upload.status.spec.ts new file mode 100644 index 0000000..f2bfd18 --- /dev/null +++ b/src/app/model/file-upload.status.spec.ts @@ -0,0 +1,7 @@ +import {FileUploadStatus} from './file-upload.status'; + +describe('FileUpload.Status', () => { + it('should create an instance', () => { + expect(new FileUploadStatus()).toBeTruthy(); + }); +}); diff --git a/src/app/model/file-upload.status.ts b/src/app/model/file-upload.status.ts new file mode 100644 index 0000000..17a4a5f --- /dev/null +++ b/src/app/model/file-upload.status.ts @@ -0,0 +1,6 @@ +export class FileUploadStatus { + + public status: string = ''; + public percentage: number = 0; + +} diff --git a/src/app/model/user.spec.ts b/src/app/model/user.spec.ts new file mode 100644 index 0000000..b270e0e --- /dev/null +++ b/src/app/model/user.spec.ts @@ -0,0 +1,7 @@ +import {User} from './user'; + +describe('User', () => { + it('should create an instance', () => { + expect(new User()).toBeTruthy(); + }); +}); diff --git a/src/app/model/user.ts b/src/app/model/user.ts new file mode 100644 index 0000000..d4a78bb --- /dev/null +++ b/src/app/model/user.ts @@ -0,0 +1,16 @@ +import {Role} from "../enum/role.enum"; + +export class User { + userId: string; + firstName: string; + lastName: string; + username: string; + email: string; + profileImageUrl: string; + lastLoginDateDisplay: Date; + joinDate: Date; + role: Role; //ROLE_USER, ROLE_ADMIN + authorities: string[]; + active: boolean; + notLocked: boolean; +} diff --git a/src/app/modern-saas.html b/src/app/modern-saas.html new file mode 100644 index 0000000..e55f425 --- /dev/null +++ b/src/app/modern-saas.html @@ -0,0 +1,552 @@ +
+
+
+
+
+
+
+ + + + + + + + + + + + + + + +
+ 4.9 / 5 ratings +
+

+ Your website, + growth reimagined +

+

Plurk is fully equipped with everything you need to build a high performing website for your SaaS.

+ Free trial +
+
+ +
+
+
+
+
+ +
+ +
+
+
+
+
OUR FEATURES
+

A robust set of features

+

+ We will help a client's problems to develop the products they have with high quality Change the appearance. +

+
+
+
+
+
+ + + + + +
+
+

Realtime analytics

+

Real-time analytics is the discipline that applies logic and mathematics to data....

+
+
+
+
+ + + + + + + + + + +
+
+

User journey

+

A customer journey map is a visual representation of a customer’s experience with a company.

+
+
+
+
+ + + + + + +
+
+

Automated reports

+

Let’s take a deeper look into what report automation is, why your agency should automate its..

+
+
+
+
+ + + + +
+
+

Funnel optimization

+

Real-time analytics is the discipline that applies logic and mathematics to data....

+
+
+
+
+ + + + + +
+
+

A/B Testing

+

A customer journey map is a visual representation of a customer’s experience with a company.

+
+
+
+
+ + + + + +
+
+

Integrations

+

+ Let’s take a deeper look into what report automation is, why your agency should automate its.. +

+
+
+
+
+
+ +
+
+ + +
+
+ +
+
+
+
WHAT WE DO
+

Increase your performance

+

+ We take step wise for your every platform. We helping to client with our talented expert. +

+
+
    +
  • +
    + + + +
    +

    Grow your product

    +
  • +
  • +
    + + + +
    +

    Organize your workflow

    +
  • +
  • +
    + + + +
    +

    Discover a new way with us.

    +
  • +
  • +
    + + + +
    +

    Embedded Analytics

    +
  • +
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
THOUSANDS OF BENIFITS
+

We make it easy to track all user analytics

+

+ We analyze step wise for your every platform. You will get best reports and analytics. We helping to client with our talented + expert. +

+
+
    +
  • +
    + +
    +
    +

    Advanced tracking

    +

    + Use our analytics, reporting, and AI-assisted optimization tools to monitor trends, track. +

    +
    +
  • +
  • +
    + +
    +
    +

    In-depth monitoring

    +

    Time Tracking is never been easier. Just let the stopwatch run.

    +
    +
  • +
+
+ +
+
+
+ +
+
+
+ + +
+ +
+
+
INTEGRATIONS
+

Integrated with all tools you already know and love

+

+ Leverage agile frameworks to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster + collaborative thinking +

+ + Learn More + + + + +
+
+
+
+ +
+
+
+
Drive more lead with Plurk
+

Our response management having automatically track customer sentiment

+
+
+
+

Tenancy Optimization

+

+ Optimize your SaaS solutions’ tenancy by leveraging our deep understanding of the unit economics of SaaS products. We can take existing + single-tenant applications and securely deliver a cost optimized multi-tenant solution. +

+ + Learn More + + + + +
+
+ +
+
+
+
+

Migrate and Modernize

+

+ Migrating a legacy system involves taking your old infrastructure and transferring it to the cloud. This does provide potential cost and + efficiency benefits. However, it fails to give your application a growth perspective. +

+ + Learn More + + + + +
+
+ +
+
+
+
+ +
+
+
+
Our Services
+

The Best Solutions To Your Business

+
+
+
+
+ +
+

Modern Design

+

+ Design and user experience are among the essential aspects of SaaS. Even if you are just entering the market and no one knows you, +

+ Read More + +
+
+
+ +
+

Magic Pagebuilder

+

+ Design and simplicity are at the core of our website builder. Easily create, customize, and promote a stunning website that's search... +

+ Read More + +
+
+
+ +
+

Support 24/7

+

+ 24/7 support model ensures that a customer is able to get their issue resolved no matter what day or time it is. +

+ Read More + +
+
+
+
+ +
+ + +
+ +
+ +
+ + + +
+ + +
+
+
+ +

+ Email Newsletter + +

+

get updates & more

+
+
+ + + + +
+ + +
+
+
+ +
+
+
+
+
diff --git a/src/app/modern-saas.ts b/src/app/modern-saas.ts new file mode 100644 index 0000000..92b3e96 --- /dev/null +++ b/src/app/modern-saas.ts @@ -0,0 +1,88 @@ +import { Component, Input } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './modern-saas.html', +}) +export class ModernSaasComponent { + storeData: any; + @Input() feedbacks: any = [ + { + id: 1, + name: 'Allan Branch', + role: 'CEO of Lifted', + thumbnail: '/assets/images/modern-saas/client-1.png', + message: + "There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable.", + }, + ]; + @Input() faqs: any = [ + { + id: 1, + question: 'Do you offer a free trial?', + answer: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', + }, + { + id: 2, + question: 'How do I create an account?', + answer: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', + }, + { + id: 3, + question: 'What protections does Strategic Systems use to protect our data?', + answer: "For now it is limited to 100MB per instance. We'll offer expansion options soon.", + }, + { + id: 4, + question: 'What type of support is included with this Service?', + answer: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', + }, + { + id: 5, + question: 'Do you have premium plans for products?', + answer: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', + }, + { + id: 6, + question: 'Who else is using plurk SaaS tool?', + answer: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', + }, + ]; + blogs = [ + { + id: 1, + thumbnail: '/assets/images/modern-saas/design.png', + title: '3 experiments to improve your mobile app funnel', + excerpt: 'Funnels don’t just provide you with conversion numbers, they provide you with insight into how your users behave.', + date: 'Dec 15, 2022', + tag: 'Design', + }, + { + id: 2, + thumbnail: '/assets/images/modern-saas/marketing.png', + title: 'What’s growth hacking? 8 great books to learn more about it', + excerpt: 'The use of resource-light and cost-effective digital marketing tactics to help grow and retain an active user base, sell products and...', + date: 'Dec 25, 2022', + tag: 'Marketing', + }, + { + id: 3, + thumbnail: '/assets/images/modern-saas/integration.png', + title: '6 new interesting mobile apps to grow your audience on', + excerpt: 'Before I get into the advice, here’s a bit about my background and experience with growing audiences for creative work.', + date: 'Nov 06, 2022', + tag: 'Integration', + }, + ]; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/nft.html b/src/app/nft.html new file mode 100644 index 0000000..a674366 --- /dev/null +++ b/src/app/nft.html @@ -0,0 +1,1554 @@ +
+
+
+
+ + +
+
+

change your

+ +
+ +
+
+

digital experience

+ +
+

suspends sem deque, acuter a elemental ut, varies vel leo.

+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+

Featured Drops

+

The World's Largest Digital Marketplace For Crypto Collectibles And Non-Fungible Tokens

+
+
+
+ + + +
+ + 1.2K +
+
+
+
+
Army WW1945
+ +
+
+
+
+ +
+
+ Creator +

Thappier Fresco

+
+
+
+ Highest Bid +

6.38 ETH

+
+
+
+
+
+
+ + + +
+ + 1.2K +
+
+
+
+
Army WW1945
+ +
+
+
+
+ +
+
+ Creator +

Thappier Fresco

+
+
+
+ Highest Bid +

6.38 ETH

+
+
+
+
+
+
+ + + +
+ + 1.2K +
+
+
+
+
Army WW1945
+ +
+
+
+
+ +
+
+ Creator +

Thappier Fresco

+
+
+
+ Highest Bid +

6.38 ETH

+
+
+
+
+
+
+ + + +
+ + 1.2K +
+
+
+
+ + + + + + 05:38:40 +
+
+
+
+
Army WW1945
+ +
+
+
+
+ +
+
+ Creator +

Thappier Fresco

+
+
+
+ Highest Bid +

6.38 ETH

+
+
+
+
+
+
+ + + +
+ + 1.2K +
+
+
+
+ + + + + + 05:38:40 +
+
+
+
+
Army WW1945
+ +
+
+
+
+ +
+
+ Creator +

Thappier Fresco

+
+
+
+ Highest Bid +

6.38 ETH

+
+
+
+
+
+
+ + + +
+ + 1.2K +
+
+
+
+ + + + + + 05:38:40 +
+
+
+
+
Army WW1945
+ +
+
+
+
+ +
+
+ Creator +

Thappier Fresco

+
+
+
+ Highest Bid +

6.38 ETH

+
+
+
+
+
+
+ + + +
+ + 1.2K +
+
+
+
+ + + + + + 05:38:40 +
+
+
+
+
Army WW1945
+ +
+
+
+
+ +
+
+ Creator +

Thappier Fresco

+
+
+
+ Highest Bid +

6.38 ETH

+
+
+
+
+
+
+ + + +
+ + 1.2K +
+
+
+
+ + + + + + 05:38:40 +
+
+
+
+
Army WW1945
+ +
+
+
+
+ +
+
+ Creator +

Thappier Fresco

+
+
+
+ Highest Bid +

6.38 ETH

+
+
+
+
+
+
+ + + +
+ + 1.2K +
+
+
+
+ + + + + + 05:38:40 +
+
+
+
+
Army WW1945
+ +
+
+
+
+ +
+
+ Creator +

Thappier Fresco

+
+
+
+ Highest Bid +

6.38 ETH

+
+
+
+
+
+
+ +
+
+ +
+
+
+
+

Explore Collection

+

Contrary to popular belief, Lorem Ipsum is not simply random text.

+
+
+ View All +
+
+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+
+
+
+ + +
+
+

NextFuture Abstract

+ SpaceX Club +
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+ + +
+
+

NextFuture Abstract

+ SpaceX Club +
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+ + +
+
+

NextFuture Abstract

+ SpaceX Club +
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+ + +
+
+

NextFuture Abstract

+ SpaceX Club +
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+

Create and sell your NFTs

+

Contrary to popular belief, Lorem Ipsum is not simply random text.

+
+
+
+
+
STEP-1
+
+

Set your wallet

+

+ The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. +

+
+
+
+
+
+
STEP-2
+
+

Create your collection

+

+ The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. +

+
+
+
+
+
+
STEP-3
+
+

Add your NFT's

+

+ The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. +

+
+
+
+
+
+
STEP-4
+
+

Sell your NFT's

+

+ The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. +

+

+
+
+
+
+
+
+ +
+
+
+
+
+

Start your own collection today

+

The World's Largest Digital Marketplace For Crypto Collectibles And Non-Fungible Tokens

+
+
+
+
+

11,593

+ Collectibles +
+
+
+
+

1,200

+ Auctions +
+
+
+
+

5,983

+ Artists +
+
+
+
+ create +
+
+
+ +
+
+
+
+ +
+
+
+

Top Artists

+

Contrary to popular belief, Lorem Ipsum is not simply random text.

+
+
+ + +
+
+ +
+
+
@makinzi_jamy
+
10.10 ETH
+
+
+
+ + +
+
+ +
+
+
@mazanov_sky
+
25.50 ETH
+
+
+
+ +
+
+ +
+
+
@jimmy_dom
+
35.98 ETH
+
+
+
+ +
+
+ +
+
+
@stivan_rominok
+
44.54 ETH
+
+
+
+ +
+
+ +
+
+
@mazanov_sky
+
54.11 ETH
+
+
+
+ +
+
+ +
+
+
@danil_pan
+
65.11 ETH
+
+
+
+ +
+
+ +
+
+
@kristian_fel
+
87.12 ETH
+
+
+
+
+
+ +
+
+
+
+

Our clients say 24 Hours

+

Contrary to popular belief, Lorem Ipsum is not simply random text.

+
+
+ View All +
+
+
+
+
+
+ 1 +
+ + +
+
+

Trippin’ Ape Tribe

+
+ Floor Price: + 0.32 ETH +
+
+
+
+ +67.80% +
+ 365.3 + ETH +
+
+
+
+
+ 2 +
+ + +
+
+

The Nice Guy

+
+ Floor Price: + 1.23 ETH +
+
+
+
+ -- +
+ 365.3 + ETH +
+
+
+
+
+ 3 +
+ + +
+
+

Banana’s Peel

+
+ Floor Price: + 3.6 ETH +
+
+
+
+ +36.20% +
+ 655.3 + ETH +
+
+
+
+
+ 4 +
+ + +
+
+

Idoitz Fantasy

+
+ Floor Price: + 5.6 ETH +
+
+
+
+ -24.74% +
+ 210.3 + ETH +
+
+
+
+
+
+
+ 5 +
+ + +
+
+

Cool Cats

+
+ Floor Price: + 0.12 ETH +
+
+
+
+ -19.36% +
+ 365.3 + ETH +
+
+
+
+
+ 6 +
+ + +
+
+

The Glitch Mon..

+
+ Floor Price: + 0.92 ETH +
+
+
+
+ -- +
+ 375.3 + ETH +
+
+
+
+
+ 7 +
+ + +
+
+

Bored Ape Yatc..

+
+ Floor Price: + 0.94 ETH +
+
+
+
+ +61.72% +
+ 655.3 + ETH +
+
+
+
+
+ 8 +
+ + +
+
+

Make A Witch

+
+ Floor Price: + 0.14 ETH +
+
+
+
+ -54.37% +
+ 210.3 + ETH +
+
+
+
+
+
+
+ +
+
+
+
+
+ {{0}} +
+
Total Items
+
+
+
+ {{0}} +
+
Total Owners
+
+
+
+ {{0}} +
+
Floor Price (ETH)
+
+
+
+ {{0}} +
+
Volume Traded (ETH)
+
+
+
+
+ +
+
+
+
+

We value our clients

+

Our Clients Say

+
+
+ View All + + +
+
+
+ +
+ + +
+
+
+ +
+
+

Allan Branch

+
CEO of Lifted
+
+
+
+
+ + + + + + +
+
“Best Design Company”
+

+ We partnered with Fluid Studios to design our website. We found them incredibly helpful and patient as we really didn't + know what we wanted. Greg met with us on numerous occasions and we found the whole process a great experience. We ended + up with a website we loved. I would definitely recommend Fluid Studios - you won't be disappointed. +

+
    +
  • Las Vegas, United States
  • +
+
+
+
+ +
+
+
+ +
+
+

Alistair Clay

+
Founder of Class PR
+
+
+
+
+ + + + + + +
+
“Best Design Company”
+

+ We partnered with Fluid Studios to design our website. We found them incredibly helpful and patient as we really didn't + know what we wanted. Greg met with us on numerous occasions and we found the whole process a great experience. We ended + up with a website we loved. I would definitely recommend Fluid Studios - you won't be disappointed. +

+
    +
  • Las Vegas, United States
  • +
+
+
+
+ +
+
+
+ +
+
+

Tim Nichols

+
CTO of Exact Drive
+
+
+
+
+ + + + + + +
+
“Best Design Company”
+

+ We partnered with Fluid Studios to design our website. We found them incredibly helpful and patient as we really didn't + know what we wanted. Greg met with us on numerous occasions and we found the whole process a great experience. We ended + up with a website we loved. I would definitely recommend Fluid Studios - you won't be disappointed. +

+
    +
  • Las Vegas, United States
  • +
+
+
+
+ +
+
+
+ +
+
+

Mark Colgan

+
Founder of Social Media Examiner
+
+
+
+
+ + + + + + +
+
“Best Design Company”
+

+ We partnered with Fluid Studios to design our website. We found them incredibly helpful and patient as we really didn't + know what we wanted. Greg met with us on numerous occasions and we found the whole process a great experience. We ended + up with a website we loved. I would definitely recommend Fluid Studios - you won't be disappointed. +

+
    +
  • Las Vegas, United States
  • +
+
+
+
+
+
+
+
+
+
diff --git a/src/app/nft.ts b/src/app/nft.ts new file mode 100644 index 0000000..ae1923d --- /dev/null +++ b/src/app/nft.ts @@ -0,0 +1,88 @@ +import { Component } from '@angular/core'; +import { config } from 'rxjs'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay, Thumbs } from 'swiper'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay,Thumbs]); +@Component({ + moduleId: module.id, + templateUrl: './nft.html', +}) +export class NftComponent { + activeTab = 'all'; + thumbsSwiper: any; + config1: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 10, + speed: 2500, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + modules: [Autoplay], + breakpoints: { + 320: { + slidesPerView: 1.7, + }, + 600: { + slidesPerView: 3, + }, + 1000: { + slidesPerView: 4, + }, + 1600: { + slidesPerView: 6, + }, + }, + }; + config2: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 10, + speed: 2500, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + modules: [Autoplay], + breakpoints: { + 320: { + slidesPerView: 1, + }, + 520: { + slidesPerView: 2, + }, + 800: { + slidesPerView: 3, + }, + 1000: { + slidesPerView: 4, + }, + 1600: { + slidesPerView: 7, + }, + }, + }; + config3: SwiperOptions = { + direction: 'vertical', + mousewheel: true, + slidesPerView: 4, + loop: true, + freeMode: true, + watchSlidesProgress: true, + }; + config4: SwiperOptions = { + loop: true, + spaceBetween: 10, + navigation: { + nextEl: '.client-slider-button-next', + prevEl: '.client-slider-button-prev', + }, + modules: [Navigation, Thumbs], + }; + setThumbsSwiper = (swiper: any) => { + this.thumbsSwiper = swiper; + }; + constructor() {} +} diff --git a/src/app/online-courses.html b/src/app/online-courses.html new file mode 100644 index 0000000..10d4680 --- /dev/null +++ b/src/app/online-courses.html @@ -0,0 +1,1719 @@ +
+
+
+ banner-lefticon + banner-rightIcon +
+
+ + +
+
+
+

+ Invest your + time + to get + knowledge +

+

+ Our mission is to help people to find the best course online and learn with expert anytime, anywhere. +

+ Know More +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+
+ +
+ +
+ +
+
+
+
+
+
+ +
+ +
+
+
+
+
Our features
+

Access to learning anytime & anywhere

+
+

+ This very extraordinary feature, can make learning activities more efficient. make it easier for all student to do learning + through digital media with existing media and online platforms. +

+ Know more +
+
+
+
+
+
+
+ +
+ +
+
+ +
+
Students attraction
+

Our Impact on Online learning

+
+
+
+
+
+ + + + + + + + + + + +
+
+
+ Year in Business +
+
+
+
+
+
+ + + + + + + + + + + +
+
+
+ Students strength +
+
+
+
+
+
+ + + + + + + + + + + +
+
+

24/7

+ Support Available +
+
+
+
+
+
+
+ +
+
+
+
+ +
+
+
Our courses
+

Most popular courses to learning

+
+
+ View All + + +
+
+
+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+ + +
+
+ +
+
+ Service +

UI/UX design, Component, layouts

+
+
+
+ + + + + +
+ 15 lectures +
+
+
+ + + + + + +
+ 2 h 35 min +
+
+
+
+
+ +
+
+ +
+
+ Information technology +

UI/UX design, Component, layouts

+
+
+
+ + + + + +
+ 15 lectures +
+
+
+ + + + + + +
+ 2 h 35 min +
+
+
+
+
+ +
+
+ +
+
+ Business +

HTML, CSS, JavaScript's, Vue js, Tailwind css

+
+
+
+ + + + + +
+ 15 lectures +
+
+
+ + + + + + +
+ 2 h 35 min +
+
+
+
+
+ +
+
+ +
+
+ Finance +

HTML, CSS, JavaScript's, Vue js, Tailwind css

+
+
+
+ + + + + +
+ 15 lectures +
+
+
+ + + + + + +
+ 2 h 35 min +
+
+
+
+
+ +
+
+ +
+
+ Design +

HTML, CSS, JavaScript's, Vue js, Tailwind css

+
+
+
+ + + + + +
+ 15 lectures +
+
+
+ + + + + + +
+ 2 h 35 min +
+
+
+
+
+ +
+
+ +
+
+ Information technology +

UI/UX design, Component, layouts

+
+
+
+ + + + + +
+ 15 lectures +
+
+
+ + + + + + +
+ 2 h 35 min +
+
+
+
+
+ +
+
+ +
+
+ Finance +

HTML, CSS, JavaScript's, Vue js, Tailwind css

+
+
+
+ + + + + +
+ 15 lectures +
+
+
+ + + + + + +
+ 2 h 35 min +
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
Learning Methods
+

Making your learning enjoyable

+

+ Make it easier for all students to do learning through digital media with existing media making it easier for student to learn + anywhere and anytime. +

+
+
    +
  • Flexible
  • +
  • Easy learning
  • +
  • High priority
  • +
  • Affordable
  • +
+
+ Know more +
+
+
+
+ +
+ + +
+
+
+
+ +
+
+
+
+ + +
+ +
+ +
+
+
+
+ +
+
+ +
+
+
+
Our benefits
+

Our Learning platform has reached 1m+ students.

+
+
+
+
+

Expert mentors

+

You can easily contact with Higley experienced mentors.

+
+
+
+ +
+
+
+
+
+

Course certificate

+

You can get a course certificate after completing course.

+
+
+
+ +
+
+
+
+
+

Learning videos

+

you can get all access to learning course videos.

+
+
+
+ +
+
+
+
+
+

Live sessions

+

1 weekly live session with our course mentor.

+
+
+
+ +
+
+
+
+ +
+
+
+
+ + +
+
+
+ +
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + +
+
+
+
Testimonial
+

Feedback from our Students

+
+ + +
+
+
+ +
+ blue-quote +
+
+
+ + + + + + + +
+

+ I love their online course. every point is perfect and personally i recommended to watch their course and learn something. + great experience. +

+
+
Paul Abraham
+
Finance student
+
+ + + + + + + + +
+
+
+
+
+ View All + + +
+
+
+ +
+ +
+ +
+ +
+ +
+
+
+
+
+
Get In Touch.
+

Ready to Get Started?

+
+
+ +
+ form-img +
+
+
+
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+
+
diff --git a/src/app/online-courses.ts b/src/app/online-courses.ts new file mode 100644 index 0000000..37bcbc3 --- /dev/null +++ b/src/app/online-courses.ts @@ -0,0 +1,99 @@ +import { Component, Input } from '@angular/core'; +import SwiperCore, { SwiperOptions, Autoplay, Navigation } from 'swiper'; +import { Store } from '@ngrx/store'; + +// install Swiper modules +SwiperCore.use([Autoplay]); + +@Component({ + moduleId: module.id, + templateUrl: './online-courses.html', +}) +export class OnlineCoursesComponent { + storeData: any; + + activeTab = 'all'; + constructor(public store: Store) { + this.initStore(); + } + + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 2500, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + breakpoints: { + 320: { + slidesPerView: 1.7, + }, + 600: { + slidesPerView: 3, + }, + 1000: { + slidesPerView: 4, + }, + 1600: { + slidesPerView: 6, + }, + }, + modules: [Autoplay], + }; + + config1: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 1000, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + navigation:{ + nextEl: '.course-slider-button-next', + prevEl: '.course-slider-button-prev', + }, + breakpoints: { + 320: { + slidesPerView: 1, + }, + 600: { + slidesPerView: 1, + }, + 1000: { + slidesPerView: 2, + }, + 1600: { + slidesPerView: 2, + }, + }, + modules: [Navigation, Autoplay], + }; + + config2: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 1000, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + navigation:{ + nextEl: '.testimonial-swiper-button-next', + prevEl: '.testimonial-swiper-button-prev', + }, + modules: [Navigation, Autoplay], + }; + + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/online-payments.html b/src/app/online-payments.html new file mode 100644 index 0000000..8892ff3 --- /dev/null +++ b/src/app/online-payments.html @@ -0,0 +1,417 @@ +
+
+ + +
+
+
+

+ Send, Receive, Top-Up Your Money Easily +

+

Contrary to popular belief, Lorem Ipsum is not simply random text.

+ + + + + Pay more + +

+ Support Email
+ info@support-plurk.com +

+
+
+ home-banner-icon + +
+
+
+
+ +
+
+
+
+
+ {{0}} +
+

Merchants

+
+
+

+ USD +
+

+

Processed annually

+
+
+
+ {{0}} +
+

Bank accounts served

+
+
+
+ {{0}} +
+

Available countries

+
+
+
+
+ +
+
+
+
+
+

+ OUR PRODUCTS +

+

+ Manage your transactions in one place +

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +

+ +
+ +
+
+

+ Collect payments +

+

+ It is a long established fact that a reader will be distracted by the readable content of a page when looking at its + layout. +

+
+ +
+

+ + Recurring payments +

+

+ There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form. +

+
+ +
+

+ + Make payouts +

+

+ On the other hand, we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the + charms. +

+
+ +
+

+ + Verify identity +

+

+ If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the + middle of text. +

+
+
+ + + Explore Us + + + + + +
+
+ +
+
+ + +
+
+
+
+
+ +
+
+
+

+ How it works? +

+

Just few steps to start

+

All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary.

+
+
+
+
+ +
+
+

Register for free

+

Simply sign up online for free and verify your identity

+
+
+
+
+ +
+
+

Set up your transfer

+

Simply sign up online for free and verify your identity

+
+
+
+
+ +
+
+

Make your payment

+

Simply sign up online for free and verify your identity

+
+
+
+
+ +
+
+

You're all done!

+

Simply sign up online for free and verify your identity

+
+
+
+
+
+ +
+
+
+ + +
+
+
+ +
+
+
+
+
+ +
+ +
+

+ Unified Commerce +

+

Connect your online and in-store payment data in one system. There are many variations of passages.

+
+
+ +
+
+
+

+ we help your business grow +

+

Accept Payments Everywhere

+
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +

+
+ +
+

+ Online Payments +

+

Accept cards, mobile wallets, and more on any digital channel or device.

+
+ +
+

+ In-person payments +

+

Enhance your point of sale setup and choose a terminal for any need.

+
+
+
+
+
+ +
+
+
+
+
+ + +
+

+ Trusted by millions of people, part of one part +

+

Connect your online and in-store payment data in one system.

+ View more +
+ +
+
+ + +
+

+ Spend money abroad, and track your expense +

+

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

+ View more +
+ +
+
+ + +
+

+ Receive money from anywhere in the world +

+

It is a long established fact that a reader will be distracted by the readable.

+ View more +
+
+
+
+ +
+
+
+
+
+
+

+ testimonials +

+

WHAT OUR CUSTOMERS ARE SAYING US?

+
+

+ lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas varius tortor nibh. +

+
+
+

13M +

+

happy people

+
+
+

4.88

+

overall rating

+ + + + + + + + + +
+
+
+
+ +
+
+
+
+
+ +
+ + +
+
+

Make Plurk your growth partner today

+

Download Plurk App to Pay from any where.

+ +
+ + +
+
+
+
+
diff --git a/src/app/online-payments.ts b/src/app/online-payments.ts new file mode 100644 index 0000000..aa16650 --- /dev/null +++ b/src/app/online-payments.ts @@ -0,0 +1,24 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + + +@Component({ + moduleId: module.id, + templateUrl: './online-payments.html', +}) +export class OnlinePaymentsComponent { + storeData: any; + + constructor(public store: Store) { + this.initStore(); + } + + + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/pages/candidate-details/candidate-details.component.html b/src/app/pages/candidate-details/candidate-details.component.html new file mode 100644 index 0000000..14f8b08 --- /dev/null +++ b/src/app/pages/candidate-details/candidate-details.component.html @@ -0,0 +1,67 @@ +
+

Detail Info

+
+
+
Candidate Information
+ + + +

ID: {{ rowData.id || "-NA-"}}

+

Conference Code: {{ rowData.conferencecode || "-NA-"}}

+

Conference Year: {{ rowData.conferenceyear || "-NA-"}}

+

Bank Name: {{ rowData.bankname || "-NA-"}}

+

Remote IP: {{ rowData.remoteip || "-NA-"}}

+

Registration Number: {{ rowData.regno || "-NA-"}}

+

Candidate Name: {{ rowData.candidatename || "-NA-"}}

+

Name in Receipt: {{ rowData.nameinreceipt || "-NA-"}}

+

Address 1: {{ rowData.address1 || "-NA-"}}

+

Address 2: {{ rowData.address2 || "-NA-"}}

+ +

Country: {{ rowData.country || "-NA-"}}

+

Pincode: {{ rowData.pincode || "-NA-"}}

+

Phone: {{ rowData.phone || "-NA-"}}

+

Mobile: {{ rowData.mobile || "-NA-"}}

+

Email: {{ rowData.email || "-NA-"}}

+

Food Type: {{ rowData.foodtype || "-NA-"}}

+

Participant Type: {{ rowData.participanttype || "-NA-"}}

+

Practice Type: {{ rowData.practicetype || "-NA-"}}

+

Accompany Members: {{ rowData.accompanymembers || "-NA-"}}

+

External or CMC Staff: : {{ rowData.inputvalue5 || "-NA-"}}

+

Payment Amount: {{ rowData.paymentamount || "-NA-"}}

+

Has GST: {{ rowData.hasgst || "-NA-"}}

+

GST Number: {{ rowData.gstnumber || "-NA-"}}

+

GST Mobile Number: {{ rowData.gstmobileno || "-NA-"}}

+

GST Email ID: {{ rowData.gstemailid || "-NA-"}}

+

To Wards: {{ rowData.toWards || "-NA-"}}

+

Allow 80G: {{ rowData.allow80G || "-NA-"}}

+

Pan Card Number: {{ rowData.panCardNo || "-NA-"}}

+

GST Registration: {{ rowData.gstreg || "-NA-"}}

+ + + +

CMC MISSION: {{ rowData.city || "-NA-"}}

+

MISSION ID: {{ rowData.state || "-NA-"}}

+ +

designation: : {{ rowData.inputvalue1 || "-NA-"}}

+

placeOfWork: : {{ rowData.inputcaption2 || "-NA-"}}

+

medicalCollegeName: : {{ rowData.inputvalue2 || "-NA-"}}

+

hospitalName: : {{ rowData.inputcaption3 || "-NA-"}}

+

istacMember: : {{ rowData.inputvalue3 || "-NA-"}}

+

istacMemberID: : {{ rowData.inputcaption4 || "-NA-"}}

+

registrationType: : {{ rowData.inputvalue4 || "-NA-"}}

+

submitCase: : {{ rowData.inputcaption5 || "-NA-"}}

+

isPaymentDone: : {{ rowData.inputcaption1 || "-NA-"}}

+ + + +

Response Transaction ID: {{ rowData.responseTransid || "-NA-"}}

+

Response Result Code: {{ rowData.responseResultCode || "-NA-"}}

+

Response Result: {{ rowData.responseResult || "-NA-"}}

+

Response URL: {{ rowData.responseURL || "-NA-"}}

+ + + +
+
+
+ \ No newline at end of file diff --git a/src/app/pages/candidate-details/candidate-details.component.scss b/src/app/pages/candidate-details/candidate-details.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/candidate-details/candidate-details.component.spec.ts b/src/app/pages/candidate-details/candidate-details.component.spec.ts new file mode 100644 index 0000000..7ee5131 --- /dev/null +++ b/src/app/pages/candidate-details/candidate-details.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CandidateDetailsComponent } from './candidate-details.component'; + +describe('CandidateDetailsComponent', () => { + let component: CandidateDetailsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ CandidateDetailsComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(CandidateDetailsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/candidate-details/candidate-details.component.ts b/src/app/pages/candidate-details/candidate-details.component.ts new file mode 100644 index 0000000..b33d90c --- /dev/null +++ b/src/app/pages/candidate-details/candidate-details.component.ts @@ -0,0 +1,26 @@ +import { Component, Input, OnInit } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; + +@Component({ + selector: 'app-candidate-details', + templateUrl: './candidate-details.component.html', + styleUrls: ['./candidate-details.component.scss'] +}) +export class CandidateDetailsComponent implements OnInit { + + rowData: any; // Data for the selected row + + constructor(private route: ActivatedRoute) { } + + ngOnInit() { + // Retrieve the data object from the route's state + this.route.paramMap.subscribe(params => { + const dataString = params.get('data'); + if (dataString) { + this.rowData = JSON.parse(dataString); + } + }); + + } + + } \ No newline at end of file diff --git a/src/app/pages/check-status/check-status.component.html b/src/app/pages/check-status/check-status.component.html new file mode 100644 index 0000000..0a3669e --- /dev/null +++ b/src/app/pages/check-status/check-status.component.html @@ -0,0 +1,147 @@ +
+
+
+
Registration Info
+
+
+
+ + +
+ +
+
+
+ +
+
+
Conference Information
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID{{ obj.id }}
Conference Code{{ obj.conferencecode }}
Conference Year{{ obj.conferenceyear }}
Bank Name{{ obj.bankname }}
Registration Number{{ obj.regno }}
Response Transaction ID{{ obj.responseTransid }}
Name {{ obj.nameinreceipt }}
Address{{ obj.address1 }}
Phone{{ obj.phone }}
Payment Status{{ obj.inputcaption1 }}
+
+
+
+ +
+
+
Transaction Status
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+ +
+
+
Transaction Details
+
+ + + + + + + + +
{{ property.key }}{{ property.value }}
+
+
+
+
diff --git a/src/app/pages/check-status/check-status.component.scss b/src/app/pages/check-status/check-status.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/check-status/check-status.component.spec.ts b/src/app/pages/check-status/check-status.component.spec.ts new file mode 100644 index 0000000..fca82e5 --- /dev/null +++ b/src/app/pages/check-status/check-status.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CheckStatusComponent } from './check-status.component'; + +describe('CheckStatusComponent', () => { + let component: CheckStatusComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ CheckStatusComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(CheckStatusComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/check-status/check-status.component.ts b/src/app/pages/check-status/check-status.component.ts new file mode 100644 index 0000000..1ab6e98 --- /dev/null +++ b/src/app/pages/check-status/check-status.component.ts @@ -0,0 +1,69 @@ +import { Component, OnInit } from "@angular/core"; +import { FormBuilder, FormGroup, Validators } from "@angular/forms"; +import { DataService } from "src/app/data.service"; +import { XmlParserService } from "src/app/xml-parser.service"; + +@Component({ + selector: "app-check-status", + templateUrl: "./check-status.component.html", + styleUrls: ["./check-status.component.scss"], +}) +export class CheckStatusComponent implements OnInit { + form: FormGroup; + detailForm: FormGroup; + + constructor( + private fb: FormBuilder, + private dataService: DataService, + private parser: XmlParserService + ) {} + + ngOnInit() { + this.form = this.fb.group({ + regno: ["", Validators.required], + transid: ["", Validators.required], + conference: ["", Validators.required], + confyear: ["", Validators.required], + bankname: ["", Validators.required], + }); + this.detailForm = this.fb.group({ + phone: ["", Validators.required], + }); + } + + status: any = {}; + + onSubmit() { + if (this.form.valid) { + // Handle form submission here + console.log(this.form.value); + this.dataService.sendSOAPRequestForStatus(this.form.value).subscribe( + (res) => { + console.log(res); + this.status = this.parser.parseXmlForStatus(res); + console.log(this.status); + }, + (error) => alert("something went wrong " + error) + ); + } else { + alert("all field values are required"); + } + } + + obj: any = {}; + + detailFormSubmit() { + if (this.detailForm.valid) { + // Handle form submission here + console.log(this.form.value); + this.dataService + .getConferenceDataByPhone(this.detailForm.get("phone").value) + .subscribe( + (res) => { + this.obj = res; + }, + (error) => alert("something went wrong " + error) + ); + } + } +} diff --git a/src/app/pages/index/index.component.css b/src/app/pages/index/index.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/index/index.component.html b/src/app/pages/index/index.component.html new file mode 100644 index 0000000..02c7215 --- /dev/null +++ b/src/app/pages/index/index.component.html @@ -0,0 +1,2010 @@ +
+ + + + + + + + + + + + +
+ +
+ +
+
+ +
+
+ +
+

Shopping cart

+
+ +

+ Subtotal: + + $4398.00 +

+

+ View cart + Checkout +

+
+
+
+
+ + + + +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+ +
+ +
+ + +
+
+
+
+ img +
+
+
+
+ Courses Categories +

Explore Top Categories

+ View All Category +
+
+
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+ About +
+
+

10k+

+

Students Active Our Courses

+
+
+ About +
+
+ img +
+
+
+
+
+ About Our University +

Welcome to Edura University.

+
+

Collaboratively simplify user friendly networks after principle centered coordinate effective methods of empowerment distributed niche markets pursue market positioning web-readiness after resource sucking applications.

+

Online education, also known as e-learning, is a method of learning that takes place over the internet. It offers individuals the opportunity to acquire knowledge, skills.

+
+
+
+ img +
+
+
+
+
    +
  • Get access to 4,000+ of our top courses
  • +
  • Popular topics to learn now
  • +
  • Find the right instructor for you
  • +
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+ Popular Courses +

Our Popular Courses

+
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+ icon +
+
+

Get Online Courses

+

Met consectetur adipiscing sed eiustempore dolore

+
+ Join With Us +
+
+
+
+
+ Image + +
+
+ +
+ +
+ img +
+ +
+ +
+ img +
+ +
+
+
+
+
+ img +
+
+
10k+ Active Students
+ img +
+ +
+
+
+
+
+ WHY CHOOSE US +

Thousands Of Experts Around The World Ready To Help.

+

Synergistically visualize alternative content before cross functional core Rapidiously administra standardized value via focused benefits. Rapidiously redefine highly efficient niche markets with plug-and-play materials professionally seize client centric solutions

+
+
+
+
+
+ +
+
+

World Class Trainers

+

Seamlessly envisioneer tactical data through services.

+
+
+
+
+
+
+ +
+
+

Easy Learning

+

Seamlessly envisioneer tactical data through services.

+
+
+
+
+
+
+ +
+
+

Flexible

+

Seamlessly envisioneer tactical data through services.

+
+
+
+
+
+
+ +
+
+

Affordable Price

+

Seamlessly envisioneer tactical data through services.

+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+

3.9k+

+

Successfully Trained

+
+
+
+
+

15.8k+

+

Classes Completed

+
+
+
+
+

97.5k+

+

Satisfaction Rate

+
+
+
+
+

100.2k+

+

Students Community

+
+
+
+
+
+ +
+
+
+
+
+ +
+ img +
+ +
+ img +
+ +
+ img +
+ +
+
+
+ Are You Ready For This Offer +

40% Offer First 100 Student’s For Featured
Topics by Education Category

+

Get unlimited access to 6,000+ of Udemy’s top courses for your team. Learn and improve skills across + business, tec, design, and more.

+
+ +
+
+
+ +
+
+ img +
+ +
+ img +
+ +
+ img +
+ +
+ img +
+ +
+ img +
+ +
+
+
+
+ Our Instructor +

Meet Our Expert Instructor

+

Graduates of XYZ University have achieved remarkable success in their chosen fields, with many going on to pursue advanced degrees, secure fulfilling careers, and make valuable contributions to their communities.

+

The university takes pride in its alumni network, which serves as a testament to the quality of education and the opportunities provided by the institution.

+
+ +
+
+
+
+
+ Team +
+
+
+ +
+

Hirmar Ubunti

+ Instructor +
+
+ 2 Courses + Students 60+ +
+
+
+
+
+
+ Team +
+
+
+ +
+

Marvin McKinney

+ Founder & CEO +
+
+ 3 Courses + Students 50+ +
+
+
+
+
+
+
+
+ Team +
+
+
+ +
+

Courtney Henry

+ Junior Instructor +
+
+ 4 Courses + Students 30+ +
+
+
+
+
+
+ Team +
+
+
+ +
+

Brooklyn Simmons

+ Senior Instructor +
+
+ 4 Courses + Students 70+ +
+
+
+
+
+
+
+ +
+
+ img +
+
+
+ Fetaured Events +

Our Upcoming Events

+
+ +
+
+ +
+
+
+
+
+ Our Trusted Partners +

We Have More Than 4263+ Global Partners

+
+
+
+
+
+
+ + img + +
+
+ + img + +
+
+ + img + +
+
+ + img + +
+
+ + img + +
+
+ + img + +
+
+ + img + +
+
+ + img + +
+
+
+
+
+
+
+
+
+
+
+
+
+ Popular Courses +

Get The Best Courses &
Upgrade Your Skills

+
+ Join With Us +
+
+
+
+
+ Popular Courses +

Engaging Courses for
Intellectual Exploration

+
+ Join With Us +
+
+
+
+
+ +
+
+ img +
+
+ img +
+
+
+ Our Students Testimonials +

Students Say’s About Oue University

+
+
+
+ +
+
+
+
+ +
+ +
+ + + + + + +
+ + + +
+ +
\ No newline at end of file diff --git a/src/app/pages/index/index.component.spec.ts b/src/app/pages/index/index.component.spec.ts new file mode 100644 index 0000000..e22415a --- /dev/null +++ b/src/app/pages/index/index.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { IndexComponent } from './index.component'; + +describe('IndexComponent', () => { + let component: IndexComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ IndexComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(IndexComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/index/index.component.ts b/src/app/pages/index/index.component.ts new file mode 100644 index 0000000..478d3fc --- /dev/null +++ b/src/app/pages/index/index.component.ts @@ -0,0 +1,37 @@ +import { Component, OnInit } from '@angular/core'; +import { Injectable, Inject, PLATFORM_ID } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { isPlatformBrowser } from '@angular/common'; + + +@Component({ + selector: 'app-index', + templateUrl: './index.component.html', + styleUrls: ['./index.component.css'] +}) +export class IndexComponent implements OnInit { + + + ngOnInit(): void { + this.injectTags() + } + + private filePath = '/src/extrascripts.html'; // Adjust the path as needed + + constructor(private http: HttpClient, @Inject(PLATFORM_ID) private platformId: Object) {} + + + + + injectTags(): void { + if (isPlatformBrowser(this.platformId)) { + this.http.get(this.filePath, { responseType: 'text' }).subscribe(data => { + const head = document.head || document.getElementsByTagName('head')[0]; + const tempDiv = document.createElement('div'); + tempDiv.innerHTML = data; + + Array.from(tempDiv.childNodes).forEach(child => head.appendChild(child)); + }); + } + } +} diff --git a/src/app/pages/index6/index6.component.html b/src/app/pages/index6/index6.component.html new file mode 100644 index 0000000..e9facf4 --- /dev/null +++ b/src/app/pages/index6/index6.component.html @@ -0,0 +1,113 @@ + + + + + +
+ +
+ +
+
+
+
+
+
+
+

Christian Medical College, Vellore

+

The Christian Medical College, Vellore, seeks to be a witness to the healing ministry of Christ, through excellence in education, service and research.

+ +
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/src/app/pages/index6/index6.component.scss b/src/app/pages/index6/index6.component.scss new file mode 100644 index 0000000..0dccf77 --- /dev/null +++ b/src/app/pages/index6/index6.component.scss @@ -0,0 +1 @@ +// @import '../xyz/xyz.module.scss' diff --git a/src/app/pages/index6/index6.component.spec.ts b/src/app/pages/index6/index6.component.spec.ts new file mode 100644 index 0000000..b297b11 --- /dev/null +++ b/src/app/pages/index6/index6.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { Index6Component } from './index6.component'; + +describe('Index6Component', () => { + let component: Index6Component; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ Index6Component ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(Index6Component); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/index6/index6.component.ts b/src/app/pages/index6/index6.component.ts new file mode 100644 index 0000000..32cca64 --- /dev/null +++ b/src/app/pages/index6/index6.component.ts @@ -0,0 +1,110 @@ +import { Component, OnInit } from '@angular/core'; +import { StudentService } from 'src/app/student.service'; + +@Component({ + selector: 'app-index6', + templateUrl: './index6.component.html', + styleUrls: ['./index6.component.scss'] +}) +/** + * Index-6 component + */ +export class Index6Component implements OnInit { + + constructor(private studentService : StudentService) { } + imagePath = '/assets/assets2/images/courses/courses-1.jpg'; + + currentSection = 'home'; + students + student + + ngOnInit() { + + + // this.students = this.studentService.getAllStudents(); + // console.log("students : ",this.students); + + // this.student = this.studentService.insertStudent(); + // console.log("student : ",this.student); + + + // this.studentService.makeHttpRequest().subscribe( + // (response) => { + // // Handle the response here + // console.log(response); + // }, + // (error) => { + // // Handle errors here + // console.error(error); + // } + // ); + + + document.addEventListener("DOMContentLoaded", () => { + let i = 1; + setInterval(() => { + const slideImage = document.querySelector("#isSlideImage") as HTMLImageElement; // Cast to HTMLImageElement + if (!slideImage) { + return; // Exit if the element is not found + } + + if (i === 1) { + slideImage.src = 'assets/images/cmc/drapt2.jpeg'; + } else if (i === 2) { + slideImage.src = 'assets/images/cmc/CMCH_Vellore.jpeg'; + } else { + slideImage.src = 'assets/images/cmc/ranipet-Kannigapuram-2022-06-15-main-entrance-signsWA-1.jpeg'; + } + + if (i >= 3) { + i = 0; + } + i++; + }, 2500); + }); + + + + + + // let i = 1; + // setInterval(() => { + // if (i === 1) { (document.querySelector("#isSlideImage")).src = 'assets/images/cmc/drapt2.jpeg'; } + // else if (i === 2) { (document.querySelector("#isSlideImage")).src = 'assets/images/cmc/CMCH_Vellore.jpeg'; } + // else { (document.querySelector("#isSlideImage")).src = 'assets/images/cmc/ranipet-Kannigapuram-2022-06-15-main-entrance-signsWA-1.jpeg'; } + // if (i >= 3) { i = 0; } + // i++; + // }, 2500); + } + + /** + * Window scroll method + */ + // tslint:disable-next-line: typedef + windowScroll() { + const navbar = document.getElementById('navbar'); + if (document.body.scrollTop > 40 || document.documentElement.scrollTop > 40) { + navbar.style.backgroundColor = '#1a1a1a'; + navbar.style.padding = '15px 0px'; + } + else { + navbar.style.backgroundColor = ''; + navbar.style.padding = '20px'; + } + } + + /** + * Toggle navbar + */ + toggleMenu() { + document.getElementById('navbarCollapse').classList.toggle('show'); + } + + /** + * Section changed method + * @param sectionId specify the current sectionID + */ + onSectionChange(sectionId: string) { + this.currentSection = sectionId; + } +} diff --git a/src/app/pages/pages-routing.module.ts b/src/app/pages/pages-routing.module.ts new file mode 100644 index 0000000..5c22a94 --- /dev/null +++ b/src/app/pages/pages-routing.module.ts @@ -0,0 +1,59 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { Index6Component } from './index6/index6.component'; + +import { PasswordForgetComponent } from './password-forget/password-forget.component'; +import { SignupComponent } from './signup/signup.component'; +import { RegisterComponent } from './register/register.component'; +import { RegistrationStatusComponent } from './registration-status/registration-status.component'; +import { RegistedListComponent } from './registed-list/registed-list.component'; +import { CandidateDetailsComponent } from './candidate-details/candidate-details.component'; +import { CheckStatusComponent } from './check-status/check-status.component'; + +const routes: Routes = [ + { + path: '', + component: Index6Component, + }, + + { + path: 'registrationStatus', + component: RegistrationStatusComponent, + }, + + { + path: 'check-status', + component: CheckStatusComponent, + }, + { + path: 'admin', + component: RegistedListComponent, + }, + { path: 'detail', component: CandidateDetailsComponent }, + + { + path: 'password_forget', + component: PasswordForgetComponent, + }, + { + path: 'signup', + component: SignupComponent, + }, + { + path: 'register/:id', + component: RegisterComponent, + }, + + { + path: '', + redirectTo: 'index', + pathMatch: 'full', + }, +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class PagesRoutingModule {} diff --git a/src/app/pages/pages.module.ts b/src/app/pages/pages.module.ts new file mode 100644 index 0000000..2c9b6dd --- /dev/null +++ b/src/app/pages/pages.module.ts @@ -0,0 +1,46 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to'; +import { NgxTypedJsModule } from 'ngx-typed-js'; +// import { NgParticlesModule } from 'ng-particles'; +import { CarouselModule } from 'ngx-owl-carousel-o'; + +import { PagesRoutingModule } from './pages-routing.module' + +import { SharedModule } from '../shared/shared.module'; + +import { Index6Component } from './index6/index6.component'; + +import { PasswordForgetComponent } from './password-forget/password-forget.component'; +import { SignupComponent } from './signup/signup.component'; +import { RegisterComponent } from './register/register.component'; +import { RegistrationStatusComponent } from './registration-status/registration-status.component'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { HttpClientModule } from '@angular/common/http'; +import { RegistedListComponent } from './registed-list/registed-list.component'; +import { CandidateDetailsComponent } from './candidate-details/candidate-details.component'; +import { CheckStatusComponent } from './check-status/check-status.component'; +import { BrowserModule } from '@angular/platform-browser'; +import { IndexComponent } from './index/index.component'; + + +@NgModule({ + declarations: [Index6Component, PasswordForgetComponent, SignupComponent,RegisterComponent, RegistrationStatusComponent,RegistedListComponent, CandidateDetailsComponent, CheckStatusComponent, IndexComponent], + + imports: [ + // BrowserModule, + CommonModule, + SharedModule, + PagesRoutingModule, + ScrollToModule.forRoot(), + NgxTypedJsModule, + // NgParticlesModule, + CarouselModule, + ReactiveFormsModule, + // HttpClientModule, + FormsModule, + ] + +}) +export class PagesModule { } diff --git a/src/app/pages/password-forget/password-forget.component.html b/src/app/pages/password-forget/password-forget.component.html new file mode 100644 index 0000000..1fb283e --- /dev/null +++ b/src/app/pages/password-forget/password-forget.component.html @@ -0,0 +1,28 @@ + \ No newline at end of file diff --git a/src/app/pages/password-forget/password-forget.component.scss b/src/app/pages/password-forget/password-forget.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/password-forget/password-forget.component.spec.ts b/src/app/pages/password-forget/password-forget.component.spec.ts new file mode 100644 index 0000000..8cd45f9 --- /dev/null +++ b/src/app/pages/password-forget/password-forget.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PasswordForgetComponent } from './password-forget.component'; + +describe('PasswordForgetComponent', () => { + let component: PasswordForgetComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ PasswordForgetComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PasswordForgetComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/password-forget/password-forget.component.ts b/src/app/pages/password-forget/password-forget.component.ts new file mode 100644 index 0000000..f3111ad --- /dev/null +++ b/src/app/pages/password-forget/password-forget.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-password-forget', + templateUrl: './password-forget.component.html', + styleUrls: ['./password-forget.component.scss'] +}) +export class PasswordForgetComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/pages/registed-list/registed-list.component.html b/src/app/pages/registed-list/registed-list.component.html new file mode 100644 index 0000000..54e8574 --- /dev/null +++ b/src/app/pages/registed-list/registed-list.component.html @@ -0,0 +1,123 @@ +
+ +
+ + + +
+
+ + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDRegistration NumberTransaction IDName in ReceiptBank NamePhoneDesignationPlace of workName of the hospital, collegeISTAC memberCMC MissionExternal or CMC staffregistration typesubmit caseEmailPayment AmountPayment StatusActions
{{ payment.id || "NA"}}{{ payment.regno || "NA"}}{{ payment.responseTransid || payment.Transid || "NA"}}{{ payment.nameinreceipt || "NA"}}{{ payment.bankname || "NA"}}{{ payment.phone || "NA"}}{{ payment.inputvalue1 || "NA"}}{{ payment.inputcaption2 || "NA"}} + {{ payment.inputcaption3 }}{{ payment.inputvalue2 }} + {{ payment.inputvalue3 || "NA"}}{{ payment.city || "NA"}}{{payment.inputvalue5 == 'No Error' ? "NA" : payment.inputvalue5}}{{payment.inputvalue4 || "NA"}}{{ payment.inputcaption5 || "NA"}}{{ payment.email || "NA"}}{{ payment.paymentamount || "NA"}} + + {{ + payment.inputcaption1 === "Y" + ? "Success" + : payment.inputcaption1 === "F" + ? "Failed" + : "Unknown" + }} + + + + + +
+
+
diff --git a/src/app/pages/registed-list/registed-list.component.scss b/src/app/pages/registed-list/registed-list.component.scss new file mode 100644 index 0000000..8b9cfcd --- /dev/null +++ b/src/app/pages/registed-list/registed-list.component.scss @@ -0,0 +1,14 @@ + +/* CSS file (your-component.component.css) */ +.success { + color: green; + } + + .failed { + color: red; + } + + .unknown { + color: gray; + } + \ No newline at end of file diff --git a/src/app/pages/registed-list/registed-list.component.spec.ts b/src/app/pages/registed-list/registed-list.component.spec.ts new file mode 100644 index 0000000..0964537 --- /dev/null +++ b/src/app/pages/registed-list/registed-list.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RegistedListComponent } from './registed-list.component'; + +describe('RegistedListComponent', () => { + let component: RegistedListComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ RegistedListComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(RegistedListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/registed-list/registed-list.component.ts b/src/app/pages/registed-list/registed-list.component.ts new file mode 100644 index 0000000..7457dec --- /dev/null +++ b/src/app/pages/registed-list/registed-list.component.ts @@ -0,0 +1,87 @@ +import { Component, OnInit } from "@angular/core"; +import { Router } from "@angular/router"; +import { DataService } from "src/app/data.service"; +import * as XLSX from "xlsx"; +// import * as FileSaver from "file-saver"; + +@Component({ + selector: "app-registed-list", + templateUrl: "./registed-list.component.html", + styleUrls: ["./registed-list.component.scss"], +}) +export class RegistedListComponent implements OnInit { + secretKey: string = ""; // Property to store the secret key + showTable: boolean = false; // Flag to determine if the table should be displayed + + payments = [ + // Add more payment objects here + ]; + + constructor(private dataService: DataService, private router: Router) {} + + exportToExcel() { + const element = document.getElementById("myTable"); // Replace 'myTable' with the ID of your HTML table + const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(element); + const wb: XLSX.WorkBook = XLSX.utils.book_new(); + XLSX.utils.book_append_sheet(wb, ws, "Sheet1"); + const excelBuffer: any = XLSX.write(wb, { + bookType: "xlsx", + type: "array", + }); + const blob = new Blob([excelBuffer], { + type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + }); + // FileSaver.saveAs(blob, "myTable.xlsx"); // Specify the desired file name + } + + viewDetail(rowData: any) { + this.router.navigate(["detail", { data: JSON.stringify(rowData) }]); + } + + delete(id) { + if (this.confirmData()) + this.dataService.deleteConferenceData(id).subscribe((res) => { + console.log(res); + this.getList() + }); + } + + confirmData(): boolean { + return confirm("Are you sure you want to delete?"); + } + + ngOnInit(): void { + this.getList() + } + + getList(){ + this.payments = [] + this.dataService.getAllConferenceData().subscribe((res) => { + this.payments = res; + }); + } + + checkSecretKey() { + // Replace 'yourSecretKey' with the actual correct secret key + if (this.secretKey === "975312") { + this.showTable = true; // Show the table if the key is correct + } else { + this.showTable = false; // Hide the table if the key is incorrect + // Optionally, you can display an error message or take other actions. + } + } + + updateStatus() { + for (const obj of this.payments) { + // Call the service method to update the object's status + // this.dataService.updateObjectStatus(obj).subscribe( + // (response: any) => { + // console.log(response) + // }, + // (error) => { + // console.error('Error updating object status:', error); + // } + // ); + } + } +} diff --git a/src/app/pages/register/register.component.html b/src/app/pages/register/register.component.html new file mode 100644 index 0000000..56c059d --- /dev/null +++ b/src/app/pages/register/register.component.html @@ -0,0 +1,965 @@ + +
+
+
+
+
+
+

Registration Form

+
+
+
+ +
+ + + This field is required. + Maximum length exceeded. +
+ + +
+ + + This field is required. + Maximum length exceeded. +
+ + + + +
+ + + Maximum length exceeded. +
+ + +
+ + + This field is required. + Maximum length exceeded. +
+ + +
+ + + This field is required. + Maximum length exceeded. +
+ + +
+ + + This field is required. + Maximum length exceeded. +
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + + Maximum length exceeded. +
+ + +
+ + + Maximum length exceeded. +
+ + + + + + + + +
+ + + Maximum length exceeded. +
+ + +
+ + + Maximum length exceeded. +
+ + + +
+ + + Maximum length exceeded. + + This field is required. +
+ + +
+ + + Maximum length exceeded. +
+ + +
+ + + Maximum length exceeded. +
+ + +
+ + +
+ + +
+ + + Maximum length exceeded. +
+ + +
+ + + Maximum length exceeded. +
+ + +
+ + + Maximum length exceeded. +
+ + + + + +
+
+ + +
+ + +
+
+ + +
+
+
+ +
+ + +
+ + + +
+
+ + +
+ + +
+
+ + +
+
+
+ +
+ + +
+ + + + + + +
+ + + + This field is required. +
+ + + +
+ + +
+ + +
+ + + This field is required. + Maximum length exceeded. +
+ + +
+ + + This field is required. + Maximum length exceeded. +
+ +
+
+ + +
+ + +
+
+ + +
+
+
+ +
+

+ Submit your abstract to + traumasurg.academic@cmcvellore.ac.in +

+
+ + +
+ + + Maximum length exceeded. +
+ + +
+ + + Maximum length exceeded. +
+ + +
+ + + This field is required. +
+ + +
+ + +
+ + +
+ + + Maximum length exceeded. +
+ + +
+ + + Maximum length exceeded. +
+ + +
+ + + Maximum length exceeded. +
+ + +
+ + + Maximum length exceeded. +
+ + +
+ + + Maximum length exceeded. +
+ + +
+ + + Maximum length exceeded. +
+ + +
+ + + Maximum length exceeded. +
+ +
+

Total Price : ₹ {{ totalPrice }}

+
+ +
+ Please correct the following fields: +
    +
  • + {{ field == 'inputvalue5' ? 'External or CMC Staff:' : field }} +
  • +
+
+ + + +
+
+
+
+
+
+ +
+
+
+
+
+

+ The payment link has been generated successfully. Kindly jot down + the information or capture a screenshot of the details, and then + proceed to click the provided link below. +

+
+ +
+

Registration: {{ paymentInfo.Registration }}

+

Transaction ID: {{ paymentInfo.Transid }}

+

Result Code: {{ paymentInfo.ResultCode }}

+

Result: {{ paymentInfo.Result }}

+ Payment URL + + +
+
+
+
+

+ + Print | + +

+
+
+
+
+
+
+ + + +
\ No newline at end of file diff --git a/src/app/pages/register/register.component.scss b/src/app/pages/register/register.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/register/register.component.spec.ts b/src/app/pages/register/register.component.spec.ts new file mode 100644 index 0000000..f6db869 --- /dev/null +++ b/src/app/pages/register/register.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RegisterComponent } from './register.component'; + +describe('RegisterComponent', () => { + let component: RegisterComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ RegisterComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(RegisterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/register/register.component.ts b/src/app/pages/register/register.component.ts new file mode 100644 index 0000000..38bdcc4 --- /dev/null +++ b/src/app/pages/register/register.component.ts @@ -0,0 +1,257 @@ +import { Component, OnInit } from "@angular/core"; +import { FormBuilder, FormGroup, Validators } from "@angular/forms"; +import { ActivatedRoute } from "@angular/router"; +import { DataService, PaymentInfo } from "src/app/data.service"; +import { XmlParserService } from "src/app/xml-parser.service"; + +@Component({ + selector: "app-register", + templateUrl: "./register.component.html", + styleUrls: ["./register.component.scss"], +}) +export class RegisterComponent implements OnInit { + registrationForm: FormGroup; + shouldDisplayElement = false; + totalPrice: number = 0; + + constructor( + private fb: FormBuilder, + private route: ActivatedRoute, + private dataService: DataService, + private xmlParserService: XmlParserService + ) {} + + eventId: string; + event: any; + events = []; + paymentInfo: PaymentInfo; + + ngOnInit() { + this.events = this.dataService.events; + this.paymentInfo = new PaymentInfo(); // Initialize the instance + + this.route.params.subscribe((params) => { + this.eventId = params["id"]; // 'id' should match the route parameter name defined in your routing configuration + this.event = this.findEventById(this.eventId); + }); + + this.registrationForm = this.fb.group({ + conferencecode: ["", [Validators.required, Validators.maxLength(10)]], + conferenceyear: ["", [Validators.required, Validators.maxLength(4)]], + bankname: ["", [Validators.required, Validators.maxLength(20)]], + remoteip: ["", [Validators.maxLength(15)]], + regno: ["", [Validators.required, Validators.maxLength(20)]], + candidatename: ["", [Validators.required, Validators.maxLength(80)]], + nameinreceipt: ["", [Validators.required, Validators.maxLength(150)]], + address1: ["", [Validators.maxLength(200)]], + address2: ["", [Validators.maxLength(200)]], + city: ["", [Validators.maxLength(100)]], // CMC Mission + state: ["12345", [Validators.maxLength(100)]], // CMC Mission ID + country: ["", [Validators.maxLength(100)]], + pincode: ["", [Validators.maxLength(10)]], + phone: ["", [Validators.required, Validators.maxLength(20)]], + mobile: ["", [Validators.maxLength(20)]], + email: ["", [Validators.maxLength(70)]], + foodtype: ["", [Validators.maxLength(2)]], + participanttype: ["", [Validators.maxLength(30)]], + practicetype: ["", [Validators.maxLength(80)]], + accompanymembers: ["", [Validators.maxLength(2)]], + paymentamount: ["", [Validators.required]], + ToWards: ["", [Validators.required, Validators.maxLength(200)]], + Allow80G: ["N", [Validators.required]], + PanCardNo: ["", [Validators.maxLength(10)]], + hasgst: ["N", [Validators.required]], + GSTReg: [""], + gstnumber: ["", [Validators.maxLength(20)]], + + gstmobileno: ["", [Validators.maxLength(12)]], + gstemailid: ["", [Validators.maxLength(100)]], + + inputcaption1: ["", [Validators.maxLength(50)]], // isPaymentDone + inputvalue1: ["", [Validators.maxLength(200)]], // designation + inputcaption2: ["", [Validators.maxLength(50)]], // placeOfWork + inputvalue2: ["", [Validators.maxLength(200)]], // medicalCollegeName + inputcaption3: ["", [Validators.maxLength(50)]], // hospitalName + inputvalue3: ["", [Validators.maxLength(200)]], // istacMember + inputcaption4: ["", [Validators.maxLength(50)]], // istacMemberID + inputvalue4: ["", [Validators.maxLength(200)]], // registrationType + inputcaption5: ["", [Validators.maxLength(50)]], // submitCase + inputvalue5: ["", [Validators.maxLength(200), Validators.required]], // External or CMC staff + + isPaymentDone: ["N", Validators.required], + designation: [""], + placeOfWork: ["None"], + medicalCollegeName: [""], + hospitalName: [""], + istacMember: ["No"], + istacMemberID: [""], + registrationType: ["", Validators.required], + submitCase: ["No"], + }); + + // Set initial values for the form + this.registrationForm.patchValue({ + conferencecode: this.event.code, + conferenceyear: this.event.year, + regno: this.generateRandomHash(9), + Allow80G: "N", + hasgst: "N", + }); + + this.registrationForm + .get("nameinreceipt") + .valueChanges.subscribe((newValue) => { + console.log("Input value changed:", newValue); + // You can perform actions here based on the new input value + + this.registrationForm.patchValue({ + candidatename: newValue, + }); + }); + } + + findEventById(eventId): any { + return this.events.find((event) => event.id == eventId); + } + + generateRandomHash(length: number): string { + const characters = "012345G0VARDHAN6789"; + let randomHash = ""; + + for (let i = 0; i < length; i++) { + const randomIndex = Math.floor(Math.random() * characters.length); + randomHash += characters.charAt(randomIndex); + } + + return randomHash; + } + + calculateTotalPrice() { + const registrationType = + this.registrationForm.get("registrationType").value; + const isCmcStaff = this.registrationForm.get("inputvalue5").value; + + if (isCmcStaff === "CMCStaff") { + // Exclude GST for CMC Staff + if (registrationType === "Online") { + this.totalPrice = 500; + } else if (registrationType === "Symposium") { + this.totalPrice = 1000; + } else if (registrationType === "Workshop") { + this.totalPrice = 3500; + } else if (registrationType === "SymposiumAndWorkshop") { + this.totalPrice = 4500; + } else { + this.totalPrice = 0; + } + } else { + // Apply GST for External + if (registrationType === "Online") { + this.totalPrice = 500 + 0.18 * 500; // ₹ 500 + 18% GST + } else if (registrationType === "Symposium") { + this.totalPrice = 1000 + 0.18 * 1000; // ₹ 1000 + 18% GST + } else if (registrationType === "Workshop") { + this.totalPrice = 3500 + 0.18 * 3500; // ₹ 3500 + 18% GST + } else if (registrationType === "SymposiumAndWorkshop") { + this.totalPrice = 4500 + 0.18 * 4500; // ₹ 4500 + 18% GST + } else { + this.totalPrice = 0; + } + } + + this.registrationForm.patchValue({ + paymentamount: this.totalPrice, + ToWards: registrationType, + }); + } + + confirmData(): boolean { + return confirm("Are you sure you want to proceed with the data?"); + } + + printPage() { + window.print(); // Opens the browser's print dialog + } + + getInvalidFields() { + const invalidFields = []; + + Object.keys(this.registrationForm.controls).forEach((controlName) => { + const control = this.registrationForm.get(controlName); + + if (control.invalid) { + invalidFields.push(controlName); + } + }); + + return invalidFields; + } + + onSubmit() { + const formData = this.registrationForm.value; + + (formData.inputcaption1 = formData.isPaymentDone), + (formData.inputvalue1 = formData.designation), + (formData.inputcaption2 = formData.placeOfWork), + (formData.inputvalue2 = formData.medicalCollegeName), + (formData.inputcaption3 = formData.hospitalName), + (formData.inputvalue3 = formData.istacMember), + (formData.inputcaption4 = formData.istacMemberID), + (formData.inputvalue4 = formData.registrationType), + (formData.inputcaption5 = formData.submitCase), + // (formData.candidatename = formData.nameinreceipt); + + console.log("formData ", formData); + + setTimeout(() => { + if (this.registrationForm.valid) { + if (this.confirmData()) this.sendSOAPRequest(formData); + } else { + alert("Please fill out all required fields correctly."); + } + }, 500); + } + + sendSOAPRequest(formData: any) { + this.dataService.sendSOAPRequest(formData).subscribe( + (res) => { + this.handleSOAPResponse(res); + }, + (error) => { + this.handleSOAPError(error); + } + ); + } + + handleSOAPResponse(res: any) { + console.log(res); + this.paymentInfo = this.xmlParserService.parseXml(res); + + if (this.paymentInfo.ResultCode == "0") { + const confData = { + ...this.paymentInfo, + ...this.registrationForm.value, + }; + console.log("conf Data", confData); + this.insertConferenceData(confData); + } + } + + handleSOAPError(error: any) { + alert("Something went wrong " + error); + console.error(error); + } + + insertConferenceData(confData: any) { + this.dataService.insertConferenceData(confData).subscribe( + (response) => { + console.log("Response from API:", response); + // Handle the response from the API as needed + }, + (error) => { + console.error("Error:", error); + // Handle errors + } + ); + } +} diff --git a/src/app/pages/registration-status/registration-status.component.html b/src/app/pages/registration-status/registration-status.component.html new file mode 100644 index 0000000..ca5eb6c --- /dev/null +++ b/src/app/pages/registration-status/registration-status.component.html @@ -0,0 +1,83 @@ +
+
+ +
+
+
+
Conference Information
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID{{ confRegObj.id }}
Conference Code{{ confRegObj.conferencecode }}
Name{{ confRegObj.nameinreceipt }}
Address{{ confRegObj.address1 }}
Phone{{ confRegObj.phone }}
+
+
+
+ +
+
+
+
+ Payment successful! Your registration for the Symposium is complete. +
+

+ Reg No: {{ queryParams.regno }} +
+ Payment status: + {{ + queryParams.inputcaption1 == "Y" ? "SUCCESS" : "UNKNOWN" + }} +
+ Transaction ID: {{ queryParams.responseTransid }} +

+ +

+ Go Home | + Print +

+
+
+
+
+
+ +
+
+
+
+
+
Something went wrong..
+
+
+
+
+
diff --git a/src/app/pages/registration-status/registration-status.component.scss b/src/app/pages/registration-status/registration-status.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/registration-status/registration-status.component.spec.ts b/src/app/pages/registration-status/registration-status.component.spec.ts new file mode 100644 index 0000000..b0ed804 --- /dev/null +++ b/src/app/pages/registration-status/registration-status.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RegistrationStatusComponent } from './registration-status.component'; + +describe('RegistrationStatusComponent', () => { + let component: RegistrationStatusComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ RegistrationStatusComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(RegistrationStatusComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/registration-status/registration-status.component.ts b/src/app/pages/registration-status/registration-status.component.ts new file mode 100644 index 0000000..9485a33 --- /dev/null +++ b/src/app/pages/registration-status/registration-status.component.ts @@ -0,0 +1,65 @@ +import { Component, OnInit } from "@angular/core"; +import { ActivatedRoute } from "@angular/router"; +import { DataService } from "src/app/data.service"; + +@Component({ + selector: "app-registration-status", + templateUrl: "./registration-status.component.html", + styleUrls: ["./registration-status.component.scss"], +}) +export class RegistrationStatusComponent implements OnInit { + queryParams: any = {}; + confRegObj: any = {}; + + constructor( + private route: ActivatedRoute, + private dataService: DataService + ) {} + + + printPage() { + window.print(); // Opens the browser's print dialog + } + + + ngOnInit() { + // Access the query parameters + this.queryParams.regno = this.route.snapshot.queryParamMap.get("regno"); + this.queryParams.inputcaption1 = + this.route.snapshot.queryParamMap.get("status"); + this.queryParams.responseTransid = + this.route.snapshot.queryParamMap.get("transid"); + // this.queryParams.inputvalue5 = + // this.route.snapshot.queryParamMap.get("message"); + + if (this.queryParams.inputcaption1 == "Y") { + this.dataService + .getConferenceDataByRegno(this.queryParams.regno) + .subscribe((res: any) => { + this.confRegObj = res; + console.log(res); + this.confRegObj = this.updateObject( + this.confRegObj, + this.queryParams + ); + setTimeout(() => { + this.updateConf(this.confRegObj); + }, 1000); + }); + } + } + + updateObject(target: any, updates: Record): any { + target = { ...target, ...updates }; + return target; + } + + updateConf(data: any) { + console.log("data ", data); + + this.dataService.insertConferenceData(data).subscribe((res) => { + console.log(res); + + }); + } +} diff --git a/src/app/pages/signup/signup.component.html b/src/app/pages/signup/signup.component.html new file mode 100644 index 0000000..dda4f20 --- /dev/null +++ b/src/app/pages/signup/signup.component.html @@ -0,0 +1,40 @@ + \ No newline at end of file diff --git a/src/app/pages/signup/signup.component.scss b/src/app/pages/signup/signup.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/signup/signup.component.spec.ts b/src/app/pages/signup/signup.component.spec.ts new file mode 100644 index 0000000..2c39790 --- /dev/null +++ b/src/app/pages/signup/signup.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SignupComponent } from './signup.component'; + +describe('SignupComponent', () => { + let component: SignupComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ SignupComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SignupComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/signup/signup.component.ts b/src/app/pages/signup/signup.component.ts new file mode 100644 index 0000000..d59051e --- /dev/null +++ b/src/app/pages/signup/signup.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-signup', + templateUrl: './signup.component.html', + styleUrls: ['./signup.component.scss'] +}) +export class SignupComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/personal-portfolio.html b/src/app/personal-portfolio.html new file mode 100644 index 0000000..886ae4f --- /dev/null +++ b/src/app/personal-portfolio.html @@ -0,0 +1,570 @@ +
+
+
+
+
+
+
+ +
+

+ I make beautiful web site and apps! + + + + + + + + + +

+
+
+ + +
+
+
+ +

Awarded as Best Design & Creative

+
+
+ +

Top-1 Trending Team on Dribbble

+
+
+ +

Top User Experience Agency

+
+
+ +
+
+
+
+ +
+
+
+

+ PREVIOUSLY WORKED ON +

+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+
+
+
+
+
+ +
+
+
+
+ + + + +
+
+
+
/ About ME
+

I’ve been designing websites since 2010

+
+

+ Excerpter sent occaecat cuspidate non provident, sent in culpa qui official deferent mullet anima id est labarum acute inure dolor + reprehenderit in voluptate velit esse chillum dolore eu fugit. +

+
+
+

12

+

Years of experience

+
+
+

150

+

Successful projects

+
+
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua ut enim ad + minim veniam, quis nostrud exercitation. +

+
+
+
+
+ +
+
+
+
+
+ {{0}} +
+
Years of experience
+
+
+
+ {{0}} +
+
Client Satisfied
+
+
+
+ {{0}} +
+
Projects complete
+
+
+
+
+ +
+
+ +
+
+
+
+
/ Portfolios
+
+ + +
+
+

Client Talking About My work!

+
+
+ + +
+
+ +
+
+
+
+ Branding +
+

Space Landing page

+ + View Project + + + + + + +
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ Branding +
+

Crypto Game - UX Interface

+ + View Project + + + + + + +
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ product design +
+

Space Landing page

+ + View Project + + + + + + +
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+
/ services
+

My extensive list of skills

+
+
+
+
+ +
+ +
+
UI/UX Design
+

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

+
+
+
+
+ +
+ +
+
Product Design
+

Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.

+
+
+
+
+ +
+ +
+
Motion Graphics
+

+ When an unknown printer took a galley of type and scrambled it to make a type specimen book. +

+
+
+
+
+ +
+ +
+
Web Design
+

+ It has survived not only five centuries, but also the leap into electronic typesetting. +

+
+
+
+
+ +
+ +
+
User Research
+

All the Lorem Ipsum generators on the Internet tend to repeat chunks as necessary

+
+
+
+
+ +
+ +
+
App Development
+

+ It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures +

+
+
+
+
+
+ +
+
+
+
+

Making Complex Digital Products

+

+ In publishing and graphic design, Lorem ipsum is a text commonly used to demonstrate the visual form of a document or a typeface + without relying on meaningful content. +

+
+ Explore +
+
+
+ +
+
+
+
+ +
+
+
+
+
+ +
+
+
+
/ Founder Words
+

What my clients say My Work

+
+

Lacus, adipiscing lectus convallis purus aliquet cursus magnaol.

+
+
+

13M +

+

happy people

+
+
+

4.88

+

overall rating

+
+ + + + + + + +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
/ get started
+

We Help Companies Move Faster

+
+ +
+
+
+ +
+
+
+
+
diff --git a/src/app/personal-portfolio.ts b/src/app/personal-portfolio.ts new file mode 100644 index 0000000..96c963d --- /dev/null +++ b/src/app/personal-portfolio.ts @@ -0,0 +1,89 @@ +import { Component, Input } from '@angular/core'; +import SwiperCore, { SwiperOptions, Autoplay, Navigation } from 'swiper'; +import { Store } from '@ngrx/store'; + +// install Swiper modules +SwiperCore.use([Autoplay]); + +@Component({ + moduleId: module.id, + templateUrl: './personal-portfolio.html', +}) +export class PersonalPortfolioComponent { + storeData: any; + + constructor(public store: Store) { + this.initStore(); + } + + @Input() feedbacks: any = [ + { + id: 1, + name: 'amelia smith', + role: 'Founder of Alpha Design', + thumbnail: '/assets/images/personal-portfolio/founder-avatar.png', + message: + 'Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old.', + }, + ]; + + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 10, + speed: 4000, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + breakpoints: { + 320: { + slidesPerView: 1.7, + }, + 600: { + slidesPerView: 2, + }, + 1000: { + slidesPerView: 3, + }, + 1142: { + slidesPerView: 5, + }, + }, + modules: [Autoplay], + }; + + config1: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 1000, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + navigation:{ + nextEl: '.portfolio-slider-button-next', + prevEl: '.portfolio-slider-button-prev', + }, + breakpoints: { + 320: { + slidesPerView: 1, + }, + 1024: { + slidesPerView: 2, + }, + 1142: { + slidesPerView: 3, + }, + }, + modules: [Navigation, Autoplay], + }; + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/photography.html b/src/app/photography.html new file mode 100644 index 0000000..01966b5 --- /dev/null +++ b/src/app/photography.html @@ -0,0 +1,606 @@ +
+
+ +
+
+

Hello, I'm John.

+

Designed for
Photographers

+

+ Creating a professional website with features such as events and proofing galleries, Theme can provide you those features without the need + to use any coding. +

+ Purchase +
+
+
+ +
+
+
+
+ Latest + Works +
+

Browse my most recent projects below and enjoy my handmade work with love for every detail.

+
+
+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+ +
+
+
+ project-1 + +
+
+ +
+
+ project-1 + +
+
+ +
+
+ project-1 + +
+
+ +
+
+ project-1 + +
+
+ +
+
+ project-1 + +
+
+ +
+
+ project-1 + +
+
+ +
+
+ project-1 + +
+
+ +
+
+ project-1 + +
+
+
+
+ +
+
+
+

OUR PHILOSOPHY

+ +

+ We are fine-art, wedding & portrait film photographers from Oregon, with a special love for natural light,medium format film cameras & + redheads with freckles. With over 5 years of experience, numerous workshops and features in top wedding publications, I capture beauty in + the most subtle. +

+ + Purchase +
+
+
+ +
+ + +
+
+
+ EXQUISITE ELEGANCE +
+

Engagements, Weddings, Elopments

+
+ +
+
+
+
+ + Outdoor +
+
+ + Indoor +
+
+ +
+
+ + Destination +
+
+
+
+ +
+
+
+
+
+
+

What our customers  are saying us?

+
+

+ lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas varius tortor nibh. +

+
+
+

13M +

+

happy people

+
+
+

4.88

+

overall rating

+ + + + + + + + + +
+
+
+
+ + +
+
+
+ +
+
+
amelia smith
+

customer

+
+
+
+
+
+

new bungalow house

+

+ “It is a long established fact that a reader will be distracted by the readable content of a page when looking at its + layout.” +

+
+

+ San Diego, California +

+
+
+
+
+ +
+ + +
+
+
+
+
+
+ +
+
+
+
+ OUR + TEAM +
+

Browse my most recent projects below and enjoy my handmade work with love for every detail.

+
+
+
+ + +
+ +
+
+

Jessy Rose

+

Photographar

+
+
+ +
+ +
+
+

Mike Farrell

+

Photographar

+
+
+ +
+ +
+
+

Blanche Fields

+

Photographar

+
+
+ +
+ +
+
+

Mike Farrell

+

Photographar

+
+
+ +
+ +
+
+

Camilia Shean

+

Photographar

+
+
+
+
+
+ +
+
+
+
+

+ My Best + Snaps +

+ +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sit amet hendrerit nisl. Nam eu dolor pellentesque, tincidunt lorem id. +

+ +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ + Explore More +
+ + + + + + + + +
+
+
+ +
+
+
+
+

+ BLOG + UPDATED +

+ +

With over 5 years of experience, numerous workshops and features in top wedding publications.

+
+ Read More blog +
+ +
+
+ + + +
+

November 28, 2022

+ +

+ What inside you & what you see in people. +

+ +

Lorem ipsum dolor amet consectetur adipisicing elit eiusm tempor incididunt...

+
+
+ +
+ + + +
+

November 28, 2022

+ +

+ What your friends think about photographers +

+ +

Lorem ipsum dolor amet consectetur adipisicing elit eiusm tempor incididunt...

+
+
+ +
+ + + +
+

November 28, 2022

+ +

White dreams

+ +

Lorem ipsum dolor amet consectetur adipisicing elit eiusm tempor incididunt...

+
+
+
+
+
+
diff --git a/src/app/photography.ts b/src/app/photography.ts new file mode 100644 index 0000000..f036268 --- /dev/null +++ b/src/app/photography.ts @@ -0,0 +1,112 @@ +import { Component } from '@angular/core'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay } from 'swiper'; +import { Lightbox, LightboxConfig } from 'ngx-lightbox'; +import { Store } from '@ngrx/store'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); + +@Component({ + moduleId: module.id, + templateUrl: './photography.html', +}) + +export class PhotographyComponent { + storeData: any; + activeTab = 'all'; + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 1000, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + navigation: { + nextEl: '.feedback-slider-button-next', + prevEl: '.feedback-slider-button-prev', + }, + modules: [Navigation, Autoplay], + }; + + config1: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + centeredSlides:true, + speed: 1000, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + breakpoints: { + 640: { + slidesPerView: 1, + }, + 768: { + slidesPerView: 3, + }, + 1024: { + slidesPerView: 5, + }, + }, + modules: [ Autoplay], + }; + + config2: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 1000, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + breakpoints: { + 0: { + slidesPerView: 1, + }, + 1024: { + slidesPerView: 2, + }, + }, + modules: [Autoplay], + }; + + items = [ + { src: '/assets/images/photography/img1.jpg', thumb: '/assets/images/photography/img1.jpg' }, + { src: '/assets/images/photography/img2.jpg', thumb: '/assets/images/photography/img2.jpg' }, + { src: '/assets/images/photography/img3.jpg', thumb: '/assets/images/photography/img3.jpg' }, + { src: '/assets/images/photography/img4.jpg', thumb: '/assets/images/photography/img4.jpg' }, + { src: '/assets/images/photography/img5.jpg', thumb: '/assets/images/photography/img5.jpg' }, + { src: '/assets/images/photography/img6.jpg', thumb: '/assets/images/photography/img6.jpg' }, + { src: '/assets/images/photography/img7.jpg', thumb: '/assets/images/photography/img7.jpg' }, + { src: '/assets/images/photography/img8.jpg', thumb: '/assets/images/photography/img8.jpg' }, + ]; + + constructor(public store: Store, private _lightbox: Lightbox, private _lightboxConfig: LightboxConfig) { + this.initStore(); + _lightboxConfig.enableTransition = false; + _lightboxConfig.wrapAround = true; + _lightboxConfig.showImageNumberLabel = true; + _lightboxConfig.showZoom = true; + _lightboxConfig.showRotate = true; + _lightboxConfig.albumLabel = '%1 of %2'; + _lightboxConfig.positionFromTop = 0; + _lightboxConfig.disableScrolling = true; + } + + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } + + open(index: number): void { + // open lightbox + this._lightbox.open(this.items, index); + } +} diff --git a/src/app/portfolio-detail.html b/src/app/portfolio-detail.html new file mode 100644 index 0000000..78375b2 --- /dev/null +++ b/src/app/portfolio-detail.html @@ -0,0 +1,248 @@ +
+
+
+
+
+
+

Crypto Game - UX Interface

+

+ Axie Infinity is a non-fungible token-based online video game developed by Vietnamese studio Sky Mavis, known for its in-game + economy which uses Ethereum-based cryptocurrencies. Players of Axie Infinity collect and mint NFTs which represent axolotl-inspired + digital pets known as Axies. +

+
+
+
+
+
+ +
+
+
+

Technologies

+
+
    +
  • +
    + + + + + +
    +
  • +
  • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
  • +
  • +
    + + + + + +
    +
  • +
  • +
    + + + + + + + +
    +
  • +
  • +
    + + + + + +
    +
  • +
  • +
    + + + + + +
    +
  • +
+
+
+
+

Features and Functionalities

+
    +
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • +
  • Pellentesque sagittis risus sed accumsan efficitur.
  • +
  • Curabitur non tortor semper, tincidunt augue at, luctus diam.
  • +
  • Phasellus vitae metus nec nulla sagittis lobortis sit amet vitae dolor.
  • +
  • Fusce lobortis justo pellentesque quam facilisis scelerisque.
  • +
  • Phasellus id arcu dapibus, facilisis ipsum nec, faucibus urna.
  • +
  • Nullam fermentum ipsum sit amet justo convallis, quis iaculis massa finibus.
  • +
  • Vivamus eget dui pulvinar, aliquet magna eget, dignissim felis.
  • +
+
+
+

Description

+

+ Mosaic is a finance tool for making better business moves — automating data aggregation, analysis, and financial forecasting. In late 2021, + we partnered to help them take charge of the Strategic Finance category with a new brand, voice, and web experience. To connect with their + audience of finance leaders they needed to look and feel like a polished, confident, no-nonsense brand. +

+

+ Easily recognised by its expert tone of voice and chess-styled visuals, Mosaic takes after its ideal user: the less meetings, more doing + kinda folk. Tasked with bringing this new brand to life online, we built an experience to catch the eye of startups everywhere. +

+
+
+ portfolio + portfolio +
+
+ portfolio +
+
+ portfolio +
+
+
+ +
+ +
+

Related Projects

+
+
+
+ + +
diff --git a/src/app/portfolio-detail.ts b/src/app/portfolio-detail.ts new file mode 100644 index 0000000..9fdd3bf --- /dev/null +++ b/src/app/portfolio-detail.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + moduleId: module.id, + templateUrl: './portfolio-detail.html', +}) +export class PortfolioDetailComponent { + constructor() {} + ngOnInit() {} +} diff --git a/src/app/portfolio-landing.html b/src/app/portfolio-landing.html new file mode 100644 index 0000000..aac6d35 --- /dev/null +++ b/src/app/portfolio-landing.html @@ -0,0 +1,493 @@ +
+
+
+ +
+
+
+
+
+

+ We are happy to build Your Best Business +

+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reprehenderit, magni iure nostrum voluptate dolore iste. +

+ Contact us +
+
+
+
+ +
+
+ +
+
+
+

We create

+

Beautiful

+
+
+

+ There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected + humour, or randomised words which don't look even slightly believable. +

+
+ About us +
+
+
+

+ Brands +

+
+
+
+
+
+ +
+
+
+

OUR PORTFOLIO

+

+ It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. +

+
+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+ +
+ SEE MORE +
+
+ +
+
+ + + + + + + + + + + + + + + + +
+
+
+
Testimonial
+

Feedback from our clients

+
+ +
+
+ +
+
+
+
+

OUR BEST PARTNERS

+

+ It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. +

+
+
+ +
+
+ +
+
+
+
+
Get In Touch.
+

Ready to Get Started?

+ form-img +
+
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+
diff --git a/src/app/portfolio-landing.ts b/src/app/portfolio-landing.ts new file mode 100644 index 0000000..07d413d --- /dev/null +++ b/src/app/portfolio-landing.ts @@ -0,0 +1,25 @@ +import { Component, Input } from '@angular/core'; +import SwiperCore, { Navigation, Autoplay } from 'swiper'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); + + +@Component({ + moduleId: module.id, + templateUrl: './portfolio-landing.html', +}) +export class PortfolioLandingComponent { + storeData: any; + activeTab = 'all'; + @Input() feedbacks: any = [ + { + id: 1, + name: 'Allan Branch', + role: 'CEO of Lifted', + thumbnail: '/assets/images/modern-saas/client-1.png', + message: + "There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable.", + }, + ]; +} diff --git a/src/app/portfolio.html b/src/app/portfolio.html new file mode 100644 index 0000000..cd55b8a --- /dev/null +++ b/src/app/portfolio.html @@ -0,0 +1,639 @@ +
+
+
+
+
+
+
Our Project
+

Some of our finest work.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+
+
+ + project-1 +
+
Space Landing page
+

Website

+
+
+
+
+
+ + project-2 +
+
Crypto Game - UX Interface
+

Website, App

+
+
+
+
+
+ + project-3 +
+
Looking for a quiet place
+

Website

+
+
+
+
+
+ + project-4 +
+
WeTour - Travel Hero Illustration
+

Website

+
+
+
+
+
+ + project-5 +
+
Digital Art Guide
+

Branding

+
+
+
+
+
+ + project-6 +
+
Frozeverse - 3D and motion design
+

Branding, Website, App

+
+
+
+
+
+ + project-7 +
+
Space Landing page
+

Website

+
+
+
+
+
+ + project-8 +
+
Crypto Game - UX Interface
+

Website, App

+
+
+
+
+
+ + project-9 +
+
Looking for a quiet place
+

Website

+
+
+
+
+
+ + project-10 +
+
WeTour - Travel Hero Illustration
+

Website

+
+
+
+
+
+ + project-11 +
+
Digital Art Guide
+

Branding

+
+
+
+
+
+ + project-12 +
+
Frozeverse - 3D and motion design
+

Branding, Website, App

+
+
+
+
+
+
+
diff --git a/src/app/portfolio.ts b/src/app/portfolio.ts new file mode 100644 index 0000000..da95cea --- /dev/null +++ b/src/app/portfolio.ts @@ -0,0 +1,22 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './portfolio.html', +}) +export class PortfolioComponent { + storeData: any; + activeTab = 'all'; + + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/privacy-policy.html b/src/app/privacy-policy.html new file mode 100644 index 0000000..202120e --- /dev/null +++ b/src/app/privacy-policy.html @@ -0,0 +1,399 @@ +
+
+
+
+
+
+

Privacy Policy

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+

Privacy Policy

+

+ At www.padmemarketplace.com, accessible at www.padmemarketplace.com, one of our main priorities is the privacy of our visitors. This Privacy + Policy document contains types of information that is collected and recorded by www.plurk.com and how we use it. +

+

+ If you have additional questions or require more information about our Privacy Policy, do not hesitate to contact us through email at + info@plruk.com +

+

+ This privacy policy applies only to our online activities and is valid for visitors to our website with regards to the information that they + shared and/or collect in www.padmemarketplace.com. This policy is not applicable to any information collected offline or via channels other + than this website. +

+
+
+

Consent

+

By using our website, you hereby consent to our Privacy Policy and agree to its terms.

+

+ Most interactive websites use cookies to let us retrieve the user's details for each visit. Cookies are used by our website to enable the + functionality of certain areas to make it easier for people visiting our website. Some of our affiliate/advertising partners may also use + cookies. +

+
+
+

Information we collect

+

+ The personal information that you are asked to provide, and the reasons why you are asked to provide it, will be made clear to you at the + point we ask you to provide your personal information. +

+

+ If you contact us directly, we may receive additional information about you such as your name, email address, phone number, the contents of + the message and/or attachments you may send us, and any other information you may choose to provide. +

+

+ When you register for an Account, we may ask for your contact information, including items such as name, company name, address, email + address, and telephone number. +

+
+
+

How we use your information

+

We use the information we collect in various ways, including to:

+
    +
  • + Provide, operate, and maintain our website +
  • +
  • + Improve, personalize, and expand our website +
  • +
  • + Understand and analyze how you use our website +
  • +
  • + Develop new products, services, features, and functionality +
  • +
  • + Communicate with you, either directly or through one of our partners, including for customer service, to provide you with updates +
  • +
+
+
+

Links to Other Sites/Apps

+

+ Our Website links to other websites/Websites that may collect personally identifiable information about you. Mntra is not responsible for + the privacy practices or the content of those linked websites/Websites. +

+
+
+

Security Precautions

+

+ Our Website has stringent security measures in place to protect the loss, misuse, and alteration of the information under our control. + Whenever you change or access your account information, we offer the use of a secure server. Once your information is in our possession we + adhere to strict security guidelines, protecting it against unauthorized access. +

+
+
+

Choice/Opt-Out

+

+ We provide all users with the opportunity to opt-out of receiving non-essential (promotional, marketing-related) communications from us on + behalf of our partners, and from us in general, after setting up an account. If you want to remove your contact information from all our + lists and newsletters, please visit unsubscribe. +

+
+
+
+
diff --git a/src/app/privacy-policy.ts b/src/app/privacy-policy.ts new file mode 100644 index 0000000..a638285 --- /dev/null +++ b/src/app/privacy-policy.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './privacy-policy.html', +}) +export class PrivacyPolicyComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/real-estate.html b/src/app/real-estate.html new file mode 100644 index 0000000..39f5e92 --- /dev/null +++ b/src/app/real-estate.html @@ -0,0 +1,1211 @@ +
+
+
+
+
+
+
apartment in new york
+
+

+ choose an Ideal place to reside with your family. +

+

+ our mission is to help people to find the best course online and learn with expert anytime, anywhere. +

+
+
+
+ + + + +
+
+ +
+
+
+ +
+
+
+
+
+ {{0}} + + +
+

premium product

+
+
+
+ {{0}} + + +
+

happy customer

+
+
+
+ {{0}} + + +
+

award winning

+
+
+
+
+ + +
+ + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+
+
+
area properties
+

PROPERTIES BY LOCATION

+
+

we ensure that you’ll embark on a perfectly planned, safe vacation at a price you can afford.

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ +
+ +
+
+
+
our services
+

THINGS YOU NEED TO DO

+
+

+ we ensure that you’ll embark on a perfectly planned, safe vacation at a price you can afford. +

+
+
+ + + + + + + + + + + + +
buy a home
+

find your place with an immersive photo experience and the most listings.

+
+
+ + + + + + + + + + + + +
sell a home
+

no matter what path you take to sell your home, we can help you navigate a successful sale.

+
+
+ + + + + + + + +
rent a home
+

+ whether you’re looking for a single- family home, high-rise apartment, or something in between. +

+
+
+
+ + + + + + + + +
+
+ +
+ +
+
+
our properties
+

FEATURED LISTINGS

+
+

+ discover our fantastic early booking discounts & start planning your journey. +

+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+ +
+ + + + + + +
+
san francisco1
+

new bungalow house nice view

+ +
view property
+ + + +
+
+
+ +
+ + + + + + +
+
san francisco
+

new bungalow house nice view

+ +
view property
+ + + +
+
+
+ +
+ + + + + + +
+
san francisco
+

new bungalow house nice view

+ +
view property
+ + + +
+
+
+ +
+ + + + + + +
+
san francisco
+

new bungalow house nice view

+ +
view property
+ + + +
+
+
+ +
+ + + + + + +
+
san francisco
+

new bungalow house nice view

+ +
view property
+ + + +
+
+
+ +
+ + + + + + +
+
san francisco
+

new bungalow house nice view

+ +
view property
+ + + +
+
+
+ +
+ + + + + + +
+
san francisco
+

new bungalow house nice view

+ +
view property
+ + + +
+
+
+ +
+ + + + + + +
+
san francisco
+

new bungalow house nice view

+ +
view property
+ + + +
+
+
+
+
+ +
+ +
+
+
why choose
+

WHY OUR CUSTOMER CHOOSE US?

+
+

+ lorem Ipsum is simply dummy text of the printing and typesetting industry. +

+
+
+
+ + + + + + + + +
+
+
quality products
+

lorem Ipsum is simply dummy text of the printing and typesetting industry.

+
+
+
+
+ + + + + + + + + +
+
+
professional services
+

lorem ipsum dolor amet consectetur sed eiusmod tempor.

+
+
+
+
+ + + + + + + + +
+
+
make payment
+

Contrary to popular belief, Lorem Ipsum is not simply random text.

+
+
+
+
+
+ +
+
+
+ +
+
+
+
testimonials
+

WHAT OUR CUSTOMERS ARE SAYING US?

+
+

+ lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas varius tortor nibh. +

+
+
+

13M +

+

happy people

+
+
+

4.88

+

overall rating

+ + + + + + + + + +
+
+
+
+ + +
+
+
+ +
+
+
amelia smith
+

customer

+
+
+
+
+
+

new bungalow house

+

+ “It is a long established fact that a reader will be distracted by the readable content of a page when looking at + its layout.” +

+
+

+ San Diego, California +

+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

EMAIL NEWSLETTER

+

+ EMAIL NEWSLETTER +

+
+ + + + + + + + + + + +

get updates & more

+
+
+
+ + + + +
+
+ +
+
+
+ +
+
+
+ +
+
+
+
diff --git a/src/app/real-estate.ts b/src/app/real-estate.ts new file mode 100644 index 0000000..94f1d52 --- /dev/null +++ b/src/app/real-estate.ts @@ -0,0 +1,40 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay } from 'swiper'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); + +@Component({ + moduleId: module.id, + templateUrl: './real-estate.html', +}) +export class RealEstateComponent { + storeData: any; + activeTab = 'residentails'; + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 1000, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + navigation: { + prevEl: '.feedback-slider-button-prev', + nextEl: '.feedback-slider-button-next', + }, + modules: [Navigation, Autoplay], + }; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/restaurant.html b/src/app/restaurant.html new file mode 100644 index 0000000..e61b9c7 --- /dev/null +++ b/src/app/restaurant.html @@ -0,0 +1,551 @@ +
+
+
+ + + +
+

+ Healthy food + for busy people +

+

Imagine devouring delicious, healthy meals daily without so much as lifting a pot.

+ How It Works +
+
+ +
+ + + + + +
+
+
+
+ + + + +
+

Choose your meals

+

Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus.

+
+
+
+ + + + +
+

Make it your own

+

Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae.

+
+
+
+ + + + +
+

Fresh and affordable

+

Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue.

+
+
+
+
+ +
+
+
+
Plans
+

Chef meal plans

+

+ Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. +

+
+
+
+ 12 meals +
+ +
+
+
+

$ 99.00 USD

+ per week +
+

Lean & Clean Dinner

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet.

+ CHOOSE PLAN +
+
+
+ 7 meals +
+ +
+
+
+

$ 79.00 USD

+ per week +
+

Balanced Living

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet.

+ CHOOSE PLAN +
+
+
+ 4 meals +
+ +
+
+
+

$ 49.00 USD

+ per week +
+

Classic Dinner

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet.

+ CHOOSE PLAN +
+
+
+
+
+ +
+ + + + +
+
+
+
+
+ + + +
+
+ + + +
+
+ + + +
+
+ +
+
+
+
+

Meal plans made for your lifestyle

+
+

+ Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, + dapibus in, viverra quis. +

+
    +
  • + + Choose your meals +
  • +
  • + + We cook & deliver +
  • +
  • + + Heat & eat +
  • +
  • + + Enjoy & Repeat +
  • +
+
+
+
+
+
+ +
+
+
+ +
+
Hello Melur!
+

Melur's First & Best Food Delivery App is here

+ get started +
+
+
+
+ +
+ + + + + +
+ +
+
+
+

Our articles

+

Check out our latest blog posts

+
+
+
+ +
+
+
November 28, 2022
+ 5 great places to have an authentic italian pizza in LA +

+ Lorem ipsum dolor sit amet consectetur adipiscing lectus a nunc mauris scelerisque sed egestas pharetraol quis pharetra arcu + pharetra blandit scelerisque sed egestas. +

+
+
+
+
+
+ +
+
+
November 28, 2022
+ We are now introducing pizza delivery via our app +

Lorem ipsum dolor amet consectetur adipisicing elit eiusm tempor incididunt...

+
+
+
+
+ +
+
+
November 28, 2022
+ A guide to preparing the five most iconic pizzas of all time +

Lorem ipsum dolor amet consectetur adipisicing elit eiusm tempor incididunt...

+
+
+
+
+ +
+
+
November 28, 2022
+ Who first invented the pizza? The true story behind +

Lorem ipsum dolor amet consectetur adipisicing elit eiusm tempor incididunt...

+
+
+
+
+
+ +
+ + +
+ +
+
+
+
+
Get In Touch.
+

Ready to Get Started?

+
+ form-img +
+
+
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+
+
diff --git a/src/app/restaurant.ts b/src/app/restaurant.ts new file mode 100644 index 0000000..36c8c1f --- /dev/null +++ b/src/app/restaurant.ts @@ -0,0 +1,31 @@ +import { Component, Input } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './restaurant.html', +}) +export class RestaurantComponent { + storeData: any; + @Input() feedbacks: any = [ + { + id: 1, + name: 'Allan Branch', + role: 'CEO of Lifted', + thumbnail: '/assets/images/modern-saas/client-1.png', + message: + "There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable.", + }, + ]; + + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/root-about-us/root-about-us.component.css b/src/app/root-about-us/root-about-us.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/root-about-us/root-about-us.component.html b/src/app/root-about-us/root-about-us.component.html new file mode 100644 index 0000000..ff4bacd --- /dev/null +++ b/src/app/root-about-us/root-about-us.component.html @@ -0,0 +1,853 @@ + + +
+
+
+
+
+
+
About Us
+

About Christian Medical College, Vellore

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + +
+
+
+
+
Who are we?
+

We thrive to improve quality of life

+
+

+ Christian Medical College Vellore was started as a one-bedded clinic-cum-dispensary in 1900 by Dr. Ida Sophia Scudder, the daughter of second-generation medical missionaries. Today, this healthcare organization of international repute includes a network of primary, secondary, tertiary and quaternary care hospitals, with around 3844 beds spread across six campuses in and around Vellore, and in the neighboring state of Andhra Pradesh. + +

+
+
+ about-who-bg +
+
+ +
+
+ +
+
+
+
Our focus is
+ +
+

+ The main hospital is situated in the 19-acre Town Campus (earlier referred to as the Thottappalayam Campus) in the heart of Vellore town. The hospital complex is the site for clinical training for all the students. The vast majority of the clinical departments are located on the hospital campus. From April 2016 to March 2017, the hospital, which has close to 2500 beds, received more than 21 lakh outpatients, more than a lakh inpatients and recorded more than 14, 500 births. +

+
+
+
+
+ 01 +
+ +

To save lives and improve quality of life for survivors.

+
+
+
+
+
+ 02 +
+ +

To minimise disability and other long-term consequences of traumatic injuries.

+
+
+
+
+
+ 03 +
+ +

To reduce the economic and social impact of injuries.

+
+
+
+ +
+
+ 04 +
+ +

To advance the trauma care field, enhance outcomes and improve the quality of care at all levels national and international..

+
+
+
+
+
+
+ + + + + + + + + + + +
diff --git a/src/app/root-about-us/root-about-us.component.spec.ts b/src/app/root-about-us/root-about-us.component.spec.ts new file mode 100644 index 0000000..5888e3b --- /dev/null +++ b/src/app/root-about-us/root-about-us.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RootAboutUsComponent } from './root-about-us.component'; + +describe('RootAboutUsComponent', () => { + let component: RootAboutUsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ RootAboutUsComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(RootAboutUsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/root-about-us/root-about-us.component.ts b/src/app/root-about-us/root-about-us.component.ts new file mode 100644 index 0000000..43214f9 --- /dev/null +++ b/src/app/root-about-us/root-about-us.component.ts @@ -0,0 +1,24 @@ +import { Component, Input } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + selector: 'app-root-about-us', + templateUrl: './root-about-us.component.html', + styleUrls: ['./root-about-us.component.css'] +}) +export class RootAboutUsComponent { + + storeData: any; + @Input() isShown: boolean = true; // Default value is empty string + + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/root-blog-details/root-blog-details.component.css b/src/app/root-blog-details/root-blog-details.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/root-blog-details/root-blog-details.component.html b/src/app/root-blog-details/root-blog-details.component.html new file mode 100644 index 0000000..397e4b6 --- /dev/null +++ b/src/app/root-blog-details/root-blog-details.component.html @@ -0,0 +1,142 @@ +
+
+
+
+
+
+
{{ (blog | async)?.tags?.join(', ') }}
+

{{ (blog | async)?.title }}

+ +
    +
  • + avtar + {{(blog | async)?.professors[0]?.firstName || "lorem"}} +
  • +
  • + June 2, 2021 +
  • +
  • + 8 mins read +
  • +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ + +
+ + + + + +
+
+
\ No newline at end of file diff --git a/src/app/root-blog-details/root-blog-details.component.spec.ts b/src/app/root-blog-details/root-blog-details.component.spec.ts new file mode 100644 index 0000000..7ce9cc1 --- /dev/null +++ b/src/app/root-blog-details/root-blog-details.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RootBlogDetailsComponent } from './root-blog-details.component'; + +describe('RootBlogDetailsComponent', () => { + let component: RootBlogDetailsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ RootBlogDetailsComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(RootBlogDetailsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/root-blog-details/root-blog-details.component.ts b/src/app/root-blog-details/root-blog-details.component.ts new file mode 100644 index 0000000..e2708a7 --- /dev/null +++ b/src/app/root-blog-details/root-blog-details.component.ts @@ -0,0 +1,41 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { Store } from '@ngrx/store'; +import { Blog, BlogService } from '../root-service/blog.service'; +import { Observable } from 'rxjs'; + +@Component({ + selector: 'app-root-blog-details', + templateUrl: './root-blog-details.component.html', + styleUrls: ['./root-blog-details.component.css'], +}) +export class RootBlogDetailsComponent implements OnInit { + storeData: any; + constructor(public store: Store, private route: ActivatedRoute, private blogService: BlogService) { + this.initStore(); + } + + blogId: number | null = null; + blog: Observable | null = null; + + ngOnInit(): void { + // Retrieve the blog ID from the route parameters + this.route.paramMap.subscribe((params) => { + this.blogId = Number(params.get('id')); // Get 'id' from the route + if (this.blogId) { + this.loadBlogDetails(this.blogId); + } + }); + } + loadBlogDetails(blogId: number) { + this.blog = this.blogService.getBlog(blogId); + } + + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/root-blog/root-blog.component.css b/src/app/root-blog/root-blog.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/root-blog/root-blog.component.html b/src/app/root-blog/root-blog.component.html new file mode 100644 index 0000000..1e586f0 --- /dev/null +++ b/src/app/root-blog/root-blog.component.html @@ -0,0 +1,263 @@ +
+
+
+
+
+
+
Blog
+

Unlock the latest trends/news

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ + + + + + + + +
+
+
+ + blog +
+
+ {{ blog.tags.join(', ') }} +
+
+ {{blog.title}} +
+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Odio minima tempora voluptates tempore deserunt cumque assumenda libero placeat cupiditate ducimus? +

+
+
+
+
+ +
+
+
\ No newline at end of file diff --git a/src/app/root-blog/root-blog.component.spec.ts b/src/app/root-blog/root-blog.component.spec.ts new file mode 100644 index 0000000..bc04eda --- /dev/null +++ b/src/app/root-blog/root-blog.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RootBlogComponent } from './root-blog.component'; + +describe('RootBlogComponent', () => { + let component: RootBlogComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ RootBlogComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(RootBlogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/root-blog/root-blog.component.ts b/src/app/root-blog/root-blog.component.ts new file mode 100644 index 0000000..5f7946f --- /dev/null +++ b/src/app/root-blog/root-blog.component.ts @@ -0,0 +1,52 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; +import { Blog, BlogService } from '../root-service/blog.service'; + +@Component({ + selector: 'app-root-blog', + templateUrl: './root-blog.component.html', + styleUrls: ['./root-blog.component.css'] +}) +export class RootBlogComponent { + + storeData: any; + blogs : Blog[] = [] + + + constructor(public store: Store,private blogService : BlogService) { + this.initStore(); + this.loadBlogs() + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } + + + loadBlogs() { + this.blogService.getPostedBlogs().subscribe(data => { + this.blogs = data; + }); + + console.log(this.blogs) + } + + + blogImages = [ + + '/assets/images/blog1.png', + '/assets/images/blog2.png', + '/assets/images/blog3.png', +]; + + + +getRandomImage(): string { + const randomIndex = Math.floor(Math.random() * this.blogImages.length); + return this.blogImages[randomIndex]; +} + +} diff --git a/src/app/root-contact-us/root-contact-us.component.css b/src/app/root-contact-us/root-contact-us.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/root-contact-us/root-contact-us.component.html b/src/app/root-contact-us/root-contact-us.component.html new file mode 100644 index 0000000..2533f85 --- /dev/null +++ b/src/app/root-contact-us/root-contact-us.component.html @@ -0,0 +1,942 @@ +
+
+
+
+
+
+
Contact Us
+

Get in touch with us

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+ +
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+ +
+
+
+

Ranipet Branch

+
+
+
+
+
+ + + + + + + + + + +
+ Call us +
+ 04172 – 224627 / 224626 +
+
+
+
+ + + + + + + + + + +
+ Mail us +
+ contact@cmcvellore.ac.in +
+
+
+
+ + + + + + + + + + +
+ Location +
+
Vellore
+
+
+ +
+
+ +
diff --git a/src/app/root-contact-us/root-contact-us.component.spec.ts b/src/app/root-contact-us/root-contact-us.component.spec.ts new file mode 100644 index 0000000..489465b --- /dev/null +++ b/src/app/root-contact-us/root-contact-us.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RootContactUsComponent } from './root-contact-us.component'; + +describe('RootContactUsComponent', () => { + let component: RootContactUsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ RootContactUsComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(RootContactUsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/root-contact-us/root-contact-us.component.ts b/src/app/root-contact-us/root-contact-us.component.ts new file mode 100644 index 0000000..8215928 --- /dev/null +++ b/src/app/root-contact-us/root-contact-us.component.ts @@ -0,0 +1,23 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + selector: 'app-root-contact-us', + templateUrl: './root-contact-us.component.html', + styleUrls: ['./root-contact-us.component.css'] +}) +export class RootContactUsComponent { + + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } + } + \ No newline at end of file diff --git a/src/app/root-event-details/root-event-details.component.css b/src/app/root-event-details/root-event-details.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/root-event-details/root-event-details.component.html b/src/app/root-event-details/root-event-details.component.html new file mode 100644 index 0000000..ce249b6 --- /dev/null +++ b/src/app/root-event-details/root-event-details.component.html @@ -0,0 +1 @@ +

root-event-details works!

diff --git a/src/app/root-event-details/root-event-details.component.spec.ts b/src/app/root-event-details/root-event-details.component.spec.ts new file mode 100644 index 0000000..e3bf85f --- /dev/null +++ b/src/app/root-event-details/root-event-details.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RootEventDetailsComponent } from './root-event-details.component'; + +describe('RootEventDetailsComponent', () => { + let component: RootEventDetailsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ RootEventDetailsComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(RootEventDetailsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/root-event-details/root-event-details.component.ts b/src/app/root-event-details/root-event-details.component.ts new file mode 100644 index 0000000..a0a2e10 --- /dev/null +++ b/src/app/root-event-details/root-event-details.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-root-event-details', + templateUrl: './root-event-details.component.html', + styleUrls: ['./root-event-details.component.css'] +}) +export class RootEventDetailsComponent { + +} diff --git a/src/app/root-event/root-event.component.css b/src/app/root-event/root-event.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/root-event/root-event.component.html b/src/app/root-event/root-event.component.html new file mode 100644 index 0000000..09965f4 --- /dev/null +++ b/src/app/root-event/root-event.component.html @@ -0,0 +1,1061 @@ +
+
+
+
+ +
+
+ +
+ +
+
+

Find amazing events

+ +
+

CMC

+ +
+ +
+
+
+
+ +
+ + +
+
+ +
+ + + +
+
+
+

{{item.date}}

+
+
+ + + + + +

CMC, Vellore

+
+
+

{{item.title}}

+ +
+
+ + + + +
+
+
+ + + + +
+
+
+ +
+
+
+
+ + +
diff --git a/src/app/root-event/root-event.component.spec.ts b/src/app/root-event/root-event.component.spec.ts new file mode 100644 index 0000000..58fd45f --- /dev/null +++ b/src/app/root-event/root-event.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RootEventComponent } from './root-event.component'; + +describe('RootEventComponent', () => { + let component: RootEventComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ RootEventComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(RootEventComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/root-event/root-event.component.ts b/src/app/root-event/root-event.component.ts new file mode 100644 index 0000000..9ed8cca --- /dev/null +++ b/src/app/root-event/root-event.component.ts @@ -0,0 +1,87 @@ +import { Component, OnInit } from '@angular/core'; +import SwiperCore, { SwiperOptions, Autoplay } from 'swiper'; +import { Store } from '@ngrx/store'; +import { Lightbox, LightboxConfig } from 'ngx-lightbox'; +import { EventService } from '../root-service/event.service'; + +// install Swiper modules +SwiperCore.use([Autoplay]); + +@Component({ + selector: 'app-root-event', + templateUrl: './root-event.component.html', + styleUrls: ['./root-event.component.css'], +}) +export class RootEventComponent implements OnInit { + events: any[] = []; + storeData: any; + activeTab = 'all-events'; + items = [ + { src: '/assets/images/event-concert/gallery1.jpg', thumb: '/assets/images/event-concert/gallery1.jpg' }, + { src: '/assets/images/event-concert/gallery2.jpg', thumb: '/assets/images/event-concert/gallery2.jpg' }, + { src: '/assets/images/event-concert/gallery3.jpg', thumb: '/assets/images/event-concert/gallery3.jpg' }, + { src: '/assets/images/event-concert/gallery4.jpg', thumb: '/assets/images/event-concert/gallery4.jpg' }, + { src: '/assets/images/event-concert/gallery5.jpg', thumb: '/assets/images/event-concert/gallery5.jpg' }, + { src: '/assets/images/event-concert/gallery6.jpg', thumb: '/assets/images/event-concert/gallery6.jpg' }, + ]; + constructor(public store: Store, private _lightbox: Lightbox, private _lightboxConfig: LightboxConfig, private eventService: EventService) { + this.initStore(); + _lightboxConfig.enableTransition = false; + _lightboxConfig.wrapAround = true; + _lightboxConfig.showImageNumberLabel = true; + _lightboxConfig.showZoom = true; + _lightboxConfig.showRotate = true; + _lightboxConfig.albumLabel = '%1 of %2'; + _lightboxConfig.positionFromTop = 0; + _lightboxConfig.disableScrolling = true; + } + ngOnInit(): void { + this.loadEvents(); + } + + loadEvents() { + this.eventService.getEvents().subscribe((res) => { + this.events = res; + }); + } + + open(img: string): void { + // open lightbox + const index = this.items.findIndex((d) => d.src.toLowerCase().includes(img.toLowerCase())); + this._lightbox.open(this.items, index); + } + + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 2500, + autoplay: { + delay: 3000, + disableOnInteraction: false, + }, + breakpoints: { + 320: { + slidesPerView: 2, + }, + 600: { + slidesPerView: 3, + }, + 1000: { + slidesPerView: 4, + }, + 1600: { + slidesPerView: 6, + }, + }, + modules: [Autoplay], + }; + + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/root-service/authentication.service.spec.ts b/src/app/root-service/authentication.service.spec.ts new file mode 100644 index 0000000..3781eda --- /dev/null +++ b/src/app/root-service/authentication.service.spec.ts @@ -0,0 +1,22 @@ +import {TestBed} from '@angular/core/testing'; + +import {AuthenticationService} from './authentication.service'; +import {HttpClient} from "@angular/common/http"; + +describe('AuthenticationService', () => { + let service: AuthenticationService; + + beforeEach(() => { + + let httpClientSpy = jasmine.createSpyObj('HttpClient', ['']); + + TestBed.configureTestingModule({ + providers: [{provide: HttpClient, useValue: httpClientSpy}] + }); + service = TestBed.inject(AuthenticationService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/root-service/authentication.service.ts b/src/app/root-service/authentication.service.ts new file mode 100644 index 0000000..862d467 --- /dev/null +++ b/src/app/root-service/authentication.service.ts @@ -0,0 +1,95 @@ +import {Injectable} from '@angular/core'; +import {environment} from "../../environments/environment"; +import {HttpClient, HttpResponse} from "@angular/common/http"; +import {UserLogin} from "../dto/user-login"; +import {Observable} from "rxjs"; +import {User} from "../model/user"; +import {JwtHelperService} from "@auth0/angular-jwt"; +import {Role} from "../enum/role.enum"; +import { Router } from '@angular/router'; + +@Injectable({ + providedIn: 'root' +}) +export class AuthenticationService { + + public USER_STORAGE_KEY = "user"; + public JWT_TOKEN_STORAGE_KEY = "jwt-token"; + + private host: string = environment.apiUrl; + private token: string | null; + private loggedInUserName: string | null; + private loggedInUser: User | null; + private storage = localStorage; + + //first install this module: `npm install @auth0/angular-jwt` + private jwtHelper: JwtHelperService = new JwtHelperService(); + + constructor(private httpClient: HttpClient,private router: Router) { + } + + public login(userDto: UserLogin): Observable> { + return this.httpClient.post + (`${this.host}/user/login`, userDto, {observe: 'response'}); + } + + public register(user: User): Observable { + return this.httpClient + .post(`${this.host}/user/register`, user); + } + + public logout(): void { + this.token = null; + this.loggedInUserName = null; + this.storage.removeItem(this.JWT_TOKEN_STORAGE_KEY); + this.storage.removeItem(this.USER_STORAGE_KEY); + this.storage.removeItem("users"); + this.router.navigateByUrl('/dashboard/login'); + + } + + public saveToken(token: string): void { + this.token = token; + this.storage.setItem(this.JWT_TOKEN_STORAGE_KEY, token); + } + + public loadToken(): void { + this.token = this.storage.getItem(this.JWT_TOKEN_STORAGE_KEY); + } + + public addUserToLocalStorage(user: User) { + this.storage.setItem(this.USER_STORAGE_KEY, JSON.stringify(user)); + } + + public getUserFromLocalStorage(): User { + let userJson = this.storage.getItem(this.USER_STORAGE_KEY); + return JSON.parse(userJson!); + } + + public getToken(): string | null { + return this.token; + } + + public isUserLoggedIn(): boolean { + this.loadToken(); + if (this.token != null && this.token !== '') { + let subject = this.jwtHelper.decodeToken(this.token).sub; + if (subject != null || '') { + if (!this.jwtHelper.isTokenExpired(this.token!)) { + this.loggedInUserName = subject; + return true; + } + } + } + this.logout() + return false; + } + + public isLoggedUserHasRoleAdmin(): boolean { + if (!this.loggedInUser) + this.loggedInUser = this.getUserFromLocalStorage(); + return this.loggedInUser.role === Role.ADMIN || this.loggedInUser.role === Role.SUPER_ADMIN; + } + + +} diff --git a/src/app/root-service/blog.service.spec.ts b/src/app/root-service/blog.service.spec.ts new file mode 100644 index 0000000..64866b7 --- /dev/null +++ b/src/app/root-service/blog.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { BlogService } from './blog.service'; + +describe('BlogService', () => { + let service: BlogService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(BlogService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/root-service/blog.service.ts b/src/app/root-service/blog.service.ts new file mode 100644 index 0000000..ffca44a --- /dev/null +++ b/src/app/root-service/blog.service.ts @@ -0,0 +1,74 @@ +// post.model.ts +export interface Blog { + id?: number; + title: string; + content: string; + // professors: { id: number, name: string }[]; // Adjust this as per your entity structure + tags: string[]; + isPosted: boolean; + posted: boolean; + professors : Professor[]; +} + + +export interface Professor { + id: number; + professorId: string; + firstName: string; + lastName: string; + email: string; + department: string; + position: string; + officeLocation: string; + joinDate: Date | null; + profileImageUrl: string; + status: 'ACTIVE' | 'INACTIVE'; // assuming status has fixed values like 'ACTIVE' or 'INACTIVE' +} + + + +import { Injectable } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { Observable } from 'rxjs'; +import { environment } from 'src/environments/environment'; + + +@Injectable({ + providedIn: 'root' +}) +export class BlogService { + private apiUrl = environment.apiUrl+'/api/posts'; // Updated to match the Spring Boot controller + + constructor(private http: HttpClient) {} + + // Get all blogs + getBlogs(): Observable { + return this.http.get(this.apiUrl); + } + + + // Get all blogs + getPostedBlogs(): Observable { + return this.http.get(this.apiUrl+"/posted"); + } + + // Get a single blog by ID + getBlog(id: number): Observable { + return this.http.get(`${this.apiUrl}/${id}`); + } + + // Create a new blog + createBlog(blog: Blog): Observable { + return this.http.post(this.apiUrl, blog); + } + + // Update an existing blog + updateBlog(id: number, blog: Blog): Observable { + return this.http.put(`${this.apiUrl}/${id}`, blog); + } + + // Delete a blog + deleteBlog(id: number): Observable { + return this.http.delete(`${this.apiUrl}/${id}`); + } +} diff --git a/src/app/root-service/event.service.spec.ts b/src/app/root-service/event.service.spec.ts new file mode 100644 index 0000000..df6b168 --- /dev/null +++ b/src/app/root-service/event.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { EventService } from './event.service'; + +describe('EventService', () => { + let service: EventService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(EventService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/root-service/event.service.ts b/src/app/root-service/event.service.ts new file mode 100644 index 0000000..1ed556a --- /dev/null +++ b/src/app/root-service/event.service.ts @@ -0,0 +1,68 @@ +import { Injectable } from '@angular/core'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { Observable, of } from 'rxjs'; +import { catchError, map } from 'rxjs/operators'; +import { environment } from 'src/environments/environment'; + +@Injectable({ + providedIn: 'root' +}) +export class EventService { + private apiUrl = environment.apiUrl+'/api/events'; // Replace with your API endpoint + + constructor(private http: HttpClient) { } + + // Fetch all events + getEvents(): Observable { + return this.http.get(this.apiUrl) + .pipe( + catchError(this.handleError('getEvents', [])) + ); + } + + // Fetch a single event by id + getEvent(id: number): Observable { + const url = `${this.apiUrl}/${id}`; + return this.http.get(url) + .pipe( + catchError(this.handleError(`getEvent id=${id}`)) + ); + } + + // Create a new event + createEvent(event: any): Observable { + return this.http.post(this.apiUrl, event, this.httpOptions) + .pipe( + catchError(this.handleError('createEvent')) + ); + } + + // Update an existing event + updateEvent(id: number, event: any): Observable { + const url = `${this.apiUrl}/${id}`; + return this.http.put(url, event, this.httpOptions) + .pipe( + catchError(this.handleError('updateEvent')) + ); + } + + // Delete an event by id + deleteEvent(id: number): Observable { + const url = `${this.apiUrl}/${id}`; + return this.http.delete(url) + .pipe( + catchError(this.handleError('deleteEvent')) + ); + } + + private httpOptions = { + headers: new HttpHeaders({ 'Content-Type': 'application/json' }) + }; + + private handleError(operation = 'operation', result?: T) { + return (error: any): Observable => { + console.error(`${operation} failed: ${error.message}`); + return of(result as T); + }; + } +} diff --git a/src/app/root-service/notification.service.spec.ts b/src/app/root-service/notification.service.spec.ts new file mode 100644 index 0000000..1d392dc --- /dev/null +++ b/src/app/root-service/notification.service.spec.ts @@ -0,0 +1,40 @@ +import {TestBed} from '@angular/core/testing'; + +import {NotificationService} from './notification.service'; +import {NotifierService} from "angular-notifier"; +import {NotificationType} from "../notification/notification-type"; + +describe('NotificationService', () => { + let service: NotificationService; + let notifierSpy: jasmine.SpyObj; + + let notifierServiceSpy = jasmine.createSpyObj('NotifierService', ['notify']); + + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [{provide: NotifierService, useValue: notifierServiceSpy}] + }); + service = TestBed.inject(NotificationService); + notifierSpy = TestBed.inject(NotifierService) as jasmine.SpyObj; + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); + + it("should call NotifierService's `notify` method with `info` message type when `notify` method is called with INFO notification type", () => { + + service.notify(NotificationType.INFO, "Dummy msg"); + + expect(notifierSpy.notify).toHaveBeenCalledWith("info", "Dummy msg"); + + }); + + it("should call NotifierService's `notify` method with `default` message type when `notify` method is called with DEFAULT notification type", () => { + + service.notify(NotificationType.DEFAULT, "Dummy msg"); + + expect(notifierSpy.notify).toHaveBeenCalledWith("default", "Dummy msg"); + + }); +}); diff --git a/src/app/root-service/notification.service.ts b/src/app/root-service/notification.service.ts new file mode 100644 index 0000000..6cffa17 --- /dev/null +++ b/src/app/root-service/notification.service.ts @@ -0,0 +1,17 @@ +import {Injectable} from '@angular/core'; +// import {NotifierService} from "angular-notifier"; +// import {NotificationType} from "../notification/notification-type"; + +@Injectable({ + providedIn: 'root' +}) +export class NotificationService { + + // constructor(private notifier: NotifierService) { + // } + + // public notify(type: NotificationType, message: string): void { + // this.notifier.notify(type, message); + // } + +} diff --git a/src/app/root-service/professor.service.spec.ts b/src/app/root-service/professor.service.spec.ts new file mode 100644 index 0000000..adbf445 --- /dev/null +++ b/src/app/root-service/professor.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { ProfessorService } from './professor.service'; + +describe('ProfessorService', () => { + let service: ProfessorService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(ProfessorService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/root-service/professor.service.ts b/src/app/root-service/professor.service.ts new file mode 100644 index 0000000..4725164 --- /dev/null +++ b/src/app/root-service/professor.service.ts @@ -0,0 +1,111 @@ +import { Injectable } from '@angular/core'; +import { environment } from "../../environments/environment"; +import { HttpClient, HttpEvent } from "@angular/common/http"; +import { Observable } from "rxjs"; +import { Professor } from "../model/Professor"; // Ensure this model is correctly defined +import { CustomHttpResponse } from "../dto/custom-http-response"; +import { map } from "rxjs/operators"; + +@Injectable({ + providedIn: 'root' +}) +export class ProfessorService { + + private host: string = environment.apiUrl; + private storage = localStorage; + + private selectedProfessor: Professor; + + constructor(private httpClient: HttpClient) { + } + + public getAllProfessors(): Observable { + return this.httpClient + .get(`${this.host}/professor?size=2147483647`); + } + + public addProfessor(formData: FormData): Observable { + return this.httpClient + .post(`${this.host}/professor/add`, formData); + } + + public updateProfessor(professorId: string, formData: FormData): Observable { + return this.httpClient + .put(`${this.host}/professor/${professorId}`, formData); + } + + public deleteProfessor(professorId: string): Observable { + return this.httpClient + .delete(`${this.host}/professor/${professorId}`); + } + + public updateProfileImage(professorId: string, formData: FormData): Observable> { + return this.httpClient + .put(`${this.host}/user/${professorId}/profile-image`, formData, + { + reportProgress: true, + observe: 'events' + }); + } + + public addProfessorsToLocalStorage(professors: Professor[]) { + this.storage.setItem('professors', JSON.stringify(professors)); + } + + public getProfessorsFromLocalStorage(): Professor[] { + let professors = this.storage.getItem('professors'); + if (professors) { + return JSON.parse(professors); + } + return []; + } + + public createProfessorFormData(professor: Professor, profileImage: File | null): FormData { + const formData = new FormData(); + + formData.append('firstName', professor.firstName); + formData.append('lastName', professor.lastName); + formData.append('email', professor.email); + formData.append('department', professor.department); + formData.append('position', professor.position); + formData.append('officeLocation', professor.officeLocation); + formData.append('status', professor.status); + // formData.append('joinDate', professor.joinDate.toString()); // Convert LocalDateTime to string + if (profileImage) + formData.append('profileImage', profileImage); + + return formData; + } + + public setSelectedProfessor(professor: Professor): void { + this.selectedProfessor = professor; + } + + public getSelectedProfessor(): Professor { + return this.selectedProfessor; + } + + public findProfessorById(id: string): Professor | Observable { + let cachedProfessors = this.getProfessorsFromLocalStorage(); + const foundProfessor = cachedProfessors.find((p) => p.professorId === id); + + if (foundProfessor) return foundProfessor; + + return this.getAllProfessors() + .pipe( + map((page: ProfessorPage) => page.content), + map(professors => professors.find(p => p.professorId === id)!) + ); + } +} + +export interface ProfessorPage { + content: Professor[]; + last: boolean; + first: boolean; + totalElements: number; + size: number; + numberOfElements: number; + number: number; + empty: boolean; +} diff --git a/src/app/root-service/user.service.spec.ts b/src/app/root-service/user.service.spec.ts new file mode 100644 index 0000000..a8b2602 --- /dev/null +++ b/src/app/root-service/user.service.spec.ts @@ -0,0 +1,21 @@ +import {TestBed} from '@angular/core/testing'; + +import {UserService} from './user.service'; +import {HttpClient} from "@angular/common/http"; + +describe('UserService', () => { + let service: UserService; + + beforeEach(() => { + let httpClientSpy = jasmine.createSpyObj('HttpClient', ['']); + + TestBed.configureTestingModule({ + providers: [{provide: HttpClient, useValue: httpClientSpy}] + }); + service = TestBed.inject(UserService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/root-service/user.service.ts b/src/app/root-service/user.service.ts new file mode 100644 index 0000000..f2e0013 --- /dev/null +++ b/src/app/root-service/user.service.ts @@ -0,0 +1,124 @@ +import {Injectable} from '@angular/core'; +import {environment} from "../../environments/environment"; +import {HttpClient, HttpEvent} from "@angular/common/http"; +import {Observable} from "rxjs"; +import {User} from "../model/user"; +import {CustomHttpResponse} from "../dto/custom-http-response"; +import {map} from "rxjs/operators"; + +@Injectable({ + providedIn: 'root' +}) +export class UserService { + + private host: string = environment.apiUrl; + private storage = localStorage; + + private selectedUser: User; + + constructor(private httpClient: HttpClient) { + } + + + + public getAllUsers(): Observable { + return this.httpClient + .get(`${this.host}/user?size=2147483647`); + } + + public addUser(formData: FormData): Observable { + return this.httpClient + .post(`${this.host}/user/add`, formData); + } + + public updateUser(userId: string, formData: FormData): Observable { + return this.httpClient + .put(`${this.host}/user/${userId}`, formData); + } + + public resetPassword(email: string): Observable { + return this.httpClient + .post(`${this.host}/user/resetPassword/${email}`, null); + } + + public updateProfileImage(userId: string, formData: FormData): Observable> { + return this.httpClient + .put(`${this.host}/user/${userId}/profile-image`, formData, + { + reportProgress: true, + observe: 'events' + }); + } + + public deleteUser(userId: string): Observable { + return this.httpClient + .delete(`${this.host}/user/${userId}`); + } + + public addUsersToLocalStorage(users: User[]) { + this.storage.setItem('users', JSON.stringify(users)); + } + + public getUsersFromLocalStorage(): User[] { + let users = this.storage.getItem('users'); + if (users) { + return JSON.parse(users); + } + return []; + } + + public createUserFormData(user: User, profileImage: File | null): FormData { + + const formData = new FormData(); + + formData.append('firstName', user.firstName); + formData.append('lastName', user.lastName); + formData.append("username", user.username); + formData.append("email", user.email); + formData.append("role", user.role); + formData.append("active", user.active ? 'true' : 'false'); + formData.append("notLocked", user.notLocked ? 'true' : 'false'); + if (profileImage) + formData.append("profileImage", profileImage); + + return formData; + } + + public setSelectedUser(user: User): void { + this.selectedUser = user; + } + + public getSelectedUser(): User { + return this.selectedUser; + } + + public findUserById(id: string): User | Observable { + let cachedUsers = this.getUsersFromLocalStorage(); + const foundUser = cachedUsers.find((u) => u.userId === id); + + if (foundUser) return foundUser; + + return this.getAllUsers() + .pipe( + map((page: UserPage, idx: number) => page.content), + map(users => users.find(u => u.userId === id)!) + ); + } + +} + +export interface UserPage { + + content: User[]; + last: boolean; + first: boolean; + totalElements: number; + size: number; + numberOfElements: number; + number: number; + empty: boolean; + +} + + + diff --git a/src/app/root/root.component.css b/src/app/root/root.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/root/root.component.html b/src/app/root/root.component.html new file mode 100644 index 0000000..00cfdaa --- /dev/null +++ b/src/app/root/root.component.html @@ -0,0 +1,529 @@ +
+
+
+ +
+
+
+
+
+

+ Christian Medical College, Vellore +

+

+ seeks to be a witness to the healing ministry of Christ, through excellence in education, service and research. +

+ +
+
+
+ +
+ + +
+
+
+

Ranipet Campus +

+
+ Level 1 Trauma Care Facility at Ranipet Campuss + + +
+
+
+
+ + + + + + + + + + + + + + Over 100 years experience + 01 + +

The Level 1 Trauma Care Facility with dedicated ambulance entry has started functioning at the CMC Vellore Ranipet Campus.The facility is located on the ground floor of Block D, co-located with the Cardiac Care Unit. It includes an Emergency Bay, 6 state-of-the-art trauma operation theatres, a radiology suite and 112 ward & ICU beds.

+
+
+ + + + + + + + + + + + + + Consecutive award winning + 02 + +

Trauma is an unforeseen incident which is life or limb threatening. The immediate commencement of trauma care is important for life and limb saving. In this Context the Department of trauma surgery commits itself to offer quality services towards Primary assessment and surgical interventions for the Injured Victim in a comprehensive manner. The subsequent review and follow-up as Outpatient services.

+
+ +
+
+
+ + + + + +
+
+
+
+
+
+ {{0}} +
+

Booking Month

+
+
+
+
+
+ {{0}} +
+

Visitors daily

+
+
+
+
+
+ {{0}} +
+

Positive feedback

+
+
+
+
+
+ {{0}} +
+

Awards & honors

+
+
+
+
+
+ + + + + + +
+
+
+
+
Get In Touch.
+

Ready to Get Started?

+
+ +
+
+
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+
diff --git a/src/app/root/root.component.spec.ts b/src/app/root/root.component.spec.ts new file mode 100644 index 0000000..c1e2f8c --- /dev/null +++ b/src/app/root/root.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RootComponent } from './root.component'; + +describe('RootComponent', () => { + let component: RootComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ RootComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(RootComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/root/root.component.ts b/src/app/root/root.component.ts new file mode 100644 index 0000000..8f3b470 --- /dev/null +++ b/src/app/root/root.component.ts @@ -0,0 +1,42 @@ +import { Component } from '@angular/core'; +import { Lightbox, LightboxConfig } from 'ngx-lightbox'; + +@Component({ + moduleId: module.id, + selector: 'app-root', + templateUrl: './root.component.html', + styleUrls: ['./root.component.css'] +}) +export class RootComponent { + activeTab = 'cozy-room'; + items = [ + { src: '/assets/images/hotel-resort/room1.jpg', thumb: '/assets/images/hotel-resort/room1.jpg', type: 'delux-room' }, + { src: '/assets/images/hotel-resort/room2.jpg', thumb: '/assets/images/hotel-resort/room2.jpg', type: 'delux-room' }, + { src: '/assets/images/hotel-resort/room3.jpg', thumb: '/assets/images/hotel-resort/room3.jpg', type: 'cozy-room' }, + { src: '/assets/images/hotel-resort/room4.jpg', thumb: '/assets/images/hotel-resort/room4.jpg', type: 'family-suit' }, + { src: '/assets/images/hotel-resort/room5.jpg', thumb: '/assets/images/hotel-resort/room5.jpg', type: 'family-suit' }, + { src: '/assets/images/hotel-resort/room6.jpg', thumb: '/assets/images/hotel-resort/room6.jpg', type: 'modern-room' }, + ]; + constructor(private _lightbox: Lightbox, private _lightboxConfig: LightboxConfig) { + _lightboxConfig.enableTransition = false; + _lightboxConfig.wrapAround = true; + _lightboxConfig.showImageNumberLabel = true; + _lightboxConfig.showZoom = true; + _lightboxConfig.showRotate = true; + _lightboxConfig.albumLabel = '%1 of %2'; + _lightboxConfig.positionFromTop = 0; + _lightboxConfig.disableScrolling = true; + } + open(img: string): void { + // open lightbox + const index = this.getItems().findIndex((d) => d.src.toLowerCase().includes(img.toLowerCase())); + this._lightbox.open(this.getItems(), index); + } + getItems() { + if (this.activeTab.toLowerCase() === 'cozy-room') { + return this.items; + } + const imgs = this.items.filter((d) => d.type.toLowerCase() === this.activeTab.toLowerCase()) || []; + return imgs; + } +} diff --git a/src/app/service/app.service.ts b/src/app/service/app.service.ts new file mode 100644 index 0000000..358bd9d --- /dev/null +++ b/src/app/service/app.service.ts @@ -0,0 +1,19 @@ +import { Injectable } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Injectable() +export class AppService { + constructor(public store: Store) { + this.initStoreData(); + } + + initStoreData() { + // theme + const theme = localStorage.getItem('theme') || 'light'; + this.store.dispatch({ type: 'toggleTheme', payload: theme }); + + // direction + const direction = localStorage.getItem('direction') || 'ltr'; + this.store.dispatch({ type: 'toggleDirection', payload: direction }); + } +} diff --git a/src/app/services-detail.html b/src/app/services-detail.html new file mode 100644 index 0000000..aa42ab5 --- /dev/null +++ b/src/app/services-detail.html @@ -0,0 +1,591 @@ +
+
+
+
+
+
+

UI/UX Design

+

+ The AppStoneLab team handles the full cycle of mobile app and website design services. We produce only top-notch applications and + websites with great design UX, UI, navigation, and functionality. +

+ Book a free consultation +
+
+ services-detail-phone +
+
+
+
+
+ +
+
+
+
Design Process
+

Keep your users at the center of your design process with our UXD practices

+

+ We combine our team’s depth of experience in design, our client’s intimate knowledge of the industries they serve and insights uncovered + through the discoveries we make. +

+
+
+
+
+ + + + + + + +
+

Define

+

We combine our team’s depth of experience in design.

+
+
+
+ + + + + + + + + + + + + + +
+

Design

+

Curabitur a libero nec dolor ultricies suscipit.

+
+
+
+ + + + + + + + + + + + + + + + + + + + +
+

Build

+

Donec iaculis massa id venenatis ultrices.

+
+
+
+ + + + + + + + + + + + + +
+

Test

+

Proin cursus diam eu nunc aliquet aliquam.

+
+
+
+ + + + + + + + +
+

Launch

+

Ut vehicula ante at turpis luctus sollicitudin.

+
+
+
+
+ +
+
+
+

Our Design Expertise

+
+
    +
  • +
    + /01 +
    +
    +

    Clear and straightforward

    +

    + In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a + typeface without relying on meaningful content. Lorem ipsum may be used as a placeholder before final copy is available. +

    +
    +
  • +
  • +
    + /02 +
    +
    +

    Visually appealing

    +

    + We pay a lot of attention to the visual solution so that it is also attractive and in line with modern market requirements in + addition to being comfortable to use. +

    +
    +
  • +
  • +
    + /03 +
    +
    +

    User-friendly

    +

    + Our design solutions are aesthetically pleasing, user-friendly, and practical so that users will feel attention and a gentle + attitude in every pixel. +

    +
    +
  • +
  • +
    + /04 +
    +
    +

    Enhanced Productivity

    +

    + We significantly reduce the task completion time, allowing users to do their jobs in fewer clicks, thus contributing to better + overall productivity. +

    +
    +
  • +
+
+
+ +
+
+
+
+

Some of Our Cases

+
+ View All + +
+
+
+ +
+ cases-1 +
+
+

Integer ornare nisi vitae risus vulputate

+
Website
+
+
+
+ +
+ cases-2 +
+
+

Morbi vehicula metus a purus dapibu

+
Website
+
+
+
+ +
+ cases-3 +
+
+

Pellentesque imperdiet dui eget ante egestas

+
Website
+
+
+
+ +
+ cases-4 +
+
+

Mauris non lorem quis erat

+
Website
+
+
+
+ +
+ cases-5 +
+
+

Pellentesque imperdiet dui eget ante egestas

+
Website
+
+
+
+
+
+ +
+
+
+

Our Technologies

+
+
+
+
+ Figma +
+
+ SKetch +
+
+ Marvel +
+
+ InVision-Studio +
+
+ Adobe-XD +
+
+ Origami-Studio +
+
+
+
+
+ + + + + +
+ +
+ +
+
+
+
+
Get In Touch.
+

Ready to Get Started?

+ form-img +
+
+
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + +
+
+ +
+
+
+
+
+
diff --git a/src/app/services-detail.ts b/src/app/services-detail.ts new file mode 100644 index 0000000..9835719 --- /dev/null +++ b/src/app/services-detail.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './services-detail.html', +}) +export class ServicesDetailComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/services.html b/src/app/services.html new file mode 100644 index 0000000..8e472ff --- /dev/null +++ b/src/app/services.html @@ -0,0 +1,1662 @@ +
+
+
+
+
+
+
Services
+

High - Impact Services

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+
+
+
+ + + + +
+ UI/UX Design +

+ We provide services with the best designs than our designer team for your business. +

+ + + + + +
+
+
+
+
+ + + + +
+ Web Development +

+ We help develop company websites to be more professional and attractive +

+ + + + + +
+
+
+
+
+ + + + +
+ Digital Marketing +

+ We also help you market your products through an online marketplace. +

+ + + + + +
+
+
+
+
+ +
+ +
+ +
+ +
+
Our Project
+

Some of our finest work.

+
+
+
+ +
+
+
+
+
How We Do It?
+

We make your spending stress-free for you to have the perfect control.

+

+ Find out everything you need to know and more about how we create our business process models. There are many variations of passages of + Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look + even slightly believable. +

+
+
+
+
+ + + + + + + + + + + +
+
+

Analysis & Planning

+

+ The very first step that we follow while developing apps or working on any project, begins with analysis. +

+
+
+
+
+ + + + + + + + + + + +
+
+

Design

+

+ Designing helps us understand the engagement of users if the product is user-friendly, intuitive, and reciprocal. +

+
+
+
+
+ + + + +
+
+

Development

+

+ This is the main part of our process beca-use the product that we deliver depends on the efforts made during this stage. +

+
+
+
+
+ + + + +
+
+

Testing

+

+ Testing is obligatory to an app’s future success; it surrounds a significant section of our overall mobile app development + process. +

+
+
+
+
+
+
+ +
+
+ + service-video-bg +
+
+

+ Find out everything you need to know about creating a business process model. +

+ +
+
+
+ + +
+
+
+ +
+
+
+
+ +
+
+
+

What Technologies Do We Use?

+
+
+
+
+ + + + + +
+
+
+
+ + + + + +
+
+
+
+ + + + + +
+
+
+
+ + + + + +
+
+
+
+ + + +
+
+
+
+ + + + + + + + + + + + + +
+
+
+
+ + + +
+
+
+
+ + + + + + +
+
+
+
+ + + + + +
+
+
+
+ + + +
+
+
+
+ + + + +
+
+
+
+ + + + + + +
+
+
+
+
+ +
+
+
+
TEAM. CUSTOMER. COMMUNITY
+

We work with best partners

+
+
+ +
+ + + +
+
+
+ services-form-txt +
+
+ + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + +
+
+
diff --git a/src/app/services.ts b/src/app/services.ts new file mode 100644 index 0000000..dc96cbf --- /dev/null +++ b/src/app/services.ts @@ -0,0 +1,50 @@ +import { Component, ViewChild } from '@angular/core'; +import { Store } from '@ngrx/store'; +import SwiperCore, { SwiperOptions, Navigation, Autoplay } from 'swiper'; +import { ModalDialog } from './components/modal-dialog'; + +// install Swiper modules +SwiperCore.use([Navigation, Autoplay]); +@Component({ + moduleId: module.id, + templateUrl: './services.html', +}) +export class ServicesComponent { + storeData: any; + @ViewChild('modal') modal: ModalDialog | undefined; + config: SwiperOptions = { + loop: true, + slidesPerView: 'auto', + spaceBetween: 30, + speed: 2500, + autoplay: { + delay: 0, + disableOnInteraction: false, + }, + modules: [Autoplay], + breakpoints: { + 320: { + slidesPerView: 1.7, + }, + 600: { + slidesPerView: 3, + }, + 1000: { + slidesPerView: 5, + }, + 1600: { + slidesPerView: 8, + }, + }, + }; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/shared/client/client.component.html b/src/app/shared/client/client.component.html new file mode 100644 index 0000000..a797d74 --- /dev/null +++ b/src/app/shared/client/client.component.html @@ -0,0 +1,87 @@ + +
+
+
+
+ + +
+
+ +
+
+

Risus cubilia etiam parturient augue nostra + sodales sit aptent venenatis magna sapien + ante hendrerit ullamcorper tincidunt urna eget Ante feugiat.

+
+ +
+

- John Litts, + Globing

+

+ + + + + +

+
+
+
+ +
+
+ +
+
+

Risus cubilia etiam parturient augue nostra + sodales sit aptent venenatis ullamcorper tincidunt urna, eget magna sapien + ante hendrerit Ante feugiat.

+
+ +
+

- John Litts, + Globing

+

+ + + + + +

+
+
+
+ +
+
+ +
+
+

Risus cubilia etiam parturient augue nostra + sodales sit aptent venenatis magna ullamcorper tincidunt urna, eget sapien + ante hendrerit Ante feugiat.

+
+ +
+

- John Litts, + Globing

+

+ + + + + +

+
+
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/src/app/shared/client/client.component.scss b/src/app/shared/client/client.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/shared/client/client.component.spec.ts b/src/app/shared/client/client.component.spec.ts new file mode 100644 index 0000000..b93d364 --- /dev/null +++ b/src/app/shared/client/client.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ClientComponent } from './client.component'; + +describe('ClientComponent', () => { + let component: ClientComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ClientComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ClientComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/client/client.component.ts b/src/app/shared/client/client.component.ts new file mode 100644 index 0000000..62a06fd --- /dev/null +++ b/src/app/shared/client/client.component.ts @@ -0,0 +1,34 @@ +import { Component, OnInit } from '@angular/core'; +import { OwlOptions } from 'ngx-owl-carousel-o'; + +@Component({ + selector: 'app-client', + templateUrl: './client.component.html', + styleUrls: ['./client.component.scss'] +}) + +/** + * Client component + */ +export class ClientComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + customOptions: OwlOptions = { + loop: true, + mouseDrag: false, + touchDrag: false, + pullDrag: false, + dots: false, + navSpeed: 700, + responsive: { + 0: { + items: 1 + }, + }, + nav: true, + navText: [ '
', '
' ] + } +} diff --git a/src/app/shared/contact/contact.component.html b/src/app/shared/contact/contact.component.html new file mode 100644 index 0000000..1efe839 --- /dev/null +++ b/src/app/shared/contact/contact.component.html @@ -0,0 +1,72 @@ + +
+
+
+
+ +

Get In Touch

+ +
+
+
+
+
+

Phone No.:
04172 – 224627 / 224626

+

Address:
Christian Medical College, IDA Scudder Rd, Vellore, Tamil Nadu 632004

+

Email Address:
traumasurg.academic@cmcvellore.ac.in

+

Time:
9:00AM To 6:00PM

+
+
+
+
+
+

+
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/src/app/shared/contact/contact.component.scss b/src/app/shared/contact/contact.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/shared/contact/contact.component.spec.ts b/src/app/shared/contact/contact.component.spec.ts new file mode 100644 index 0000000..2f386db --- /dev/null +++ b/src/app/shared/contact/contact.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ContactComponent } from './contact.component'; + +describe('ContactComponent', () => { + let component: ContactComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ContactComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ContactComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/contact/contact.component.ts b/src/app/shared/contact/contact.component.ts new file mode 100644 index 0000000..67f4f88 --- /dev/null +++ b/src/app/shared/contact/contact.component.ts @@ -0,0 +1,19 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-contact', + templateUrl: './contact.component.html', + styleUrls: ['./contact.component.scss'] +}) + +/** + * Contact component + */ +export class ContactComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/shared/faq/faq.component.html b/src/app/shared/faq/faq.component.html new file mode 100644 index 0000000..a6ef0c2 --- /dev/null +++ b/src/app/shared/faq/faq.component.html @@ -0,0 +1,64 @@ + +
+
+
+
+ +

Our focus is:

+ +
+
+
+
+
+ To save lives and improve quality of life for survivors +
+
+ +
+
+ To minimise disability and other long-term consequences of traumatic + injuries +
+
+ +
+
+ To reduce the economic and social impact of injuries +
+
+ +
+
+ To advance the trauma care field, enhance outcomes and improve the + quality of care at all levels national and international. +
+
+
+
+
+ + + + + + + diff --git a/src/app/shared/faq/faq.component.scss b/src/app/shared/faq/faq.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/shared/faq/faq.component.spec.ts b/src/app/shared/faq/faq.component.spec.ts new file mode 100644 index 0000000..bfa0b00 --- /dev/null +++ b/src/app/shared/faq/faq.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FaqComponent } from './faq.component'; + +describe('FaqComponent', () => { + let component: FaqComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ FaqComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(FaqComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/faq/faq.component.ts b/src/app/shared/faq/faq.component.ts new file mode 100644 index 0000000..1f1c1b6 --- /dev/null +++ b/src/app/shared/faq/faq.component.ts @@ -0,0 +1,19 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-faq', + templateUrl: './faq.component.html', + styleUrls: ['./faq.component.scss'] +}) + +/** + * FAQ component + */ +export class FaqComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/shared/features/features.component.html b/src/app/shared/features/features.component.html new file mode 100644 index 0000000..84f5a7b --- /dev/null +++ b/src/app/shared/features/features.component.html @@ -0,0 +1,61 @@ + +
+
+
+
+ +

Ranipet Campus

+

Level 1 Trauma Care Facility at Ranipet Campuss

+
+
+
+
+
+
+ +
+
+
+
+
+ +

+ The Level 1 Trauma Care Facility with dedicated ambulance entry has started functioning at the + CMC Vellore Ranipet Campus.The facility is located on the ground floor of Block D, co-located + with  the Cardiac Care Unit. It includes an Emergency Bay, 6 state-of-the-art trauma operation + theatres, a radiology suite and 112 ward & ICU beds. + +

+ +
+
+
+ + +
+
+
+ +

Trauma is an unforeseen incident which is life or limb threatening. The + immediate commencement of trauma care is important for life and limb saving. In this Context the + Department of trauma surgery commits itself to offer quality services towards Primary assessment + and surgical interventions for the Injured Victim in a comprehensive manner. The subsequent + review and follow-up as Outpatient services.

+ +
+
+
+ +
+
+ +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/src/app/shared/features/features.component.scss b/src/app/shared/features/features.component.scss new file mode 100644 index 0000000..7584055 --- /dev/null +++ b/src/app/shared/features/features.component.scss @@ -0,0 +1,4 @@ +.bg-honey{ + background-color: #f5f5f5; + +} \ No newline at end of file diff --git a/src/app/shared/features/features.component.spec.ts b/src/app/shared/features/features.component.spec.ts new file mode 100644 index 0000000..d22ca1d --- /dev/null +++ b/src/app/shared/features/features.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FeaturesComponent } from './features.component'; + +describe('FeaturesComponent', () => { + let component: FeaturesComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ FeaturesComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(FeaturesComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/features/features.component.ts b/src/app/shared/features/features.component.ts new file mode 100644 index 0000000..b396cab --- /dev/null +++ b/src/app/shared/features/features.component.ts @@ -0,0 +1,19 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-features', + templateUrl: './features.component.html', + styleUrls: ['./features.component.scss'] +}) + +/** + * Features component + */ +export class FeaturesComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/shared/footer/footer.component.html b/src/app/shared/footer/footer.component.html new file mode 100644 index 0000000..68ce21b --- /dev/null +++ b/src/app/shared/footer/footer.component.html @@ -0,0 +1,33 @@ + + + \ No newline at end of file diff --git a/src/app/shared/footer/footer.component.scss b/src/app/shared/footer/footer.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/shared/footer/footer.component.spec.ts b/src/app/shared/footer/footer.component.spec.ts new file mode 100644 index 0000000..a3c4af9 --- /dev/null +++ b/src/app/shared/footer/footer.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FooterComponent } from './footer.component'; + +describe('FooterComponent', () => { + let component: FooterComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ FooterComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(FooterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/footer/footer.component.ts b/src/app/shared/footer/footer.component.ts new file mode 100644 index 0000000..5434345 --- /dev/null +++ b/src/app/shared/footer/footer.component.ts @@ -0,0 +1,21 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-footer', + templateUrl: './footer.component.html', + styleUrls: ['./footer.component.scss'] +}) + +/** + * Footer component + */ +export class FooterComponent implements OnInit { + + year = new Date().getFullYear() + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/shared/pricing/pricing.component.html b/src/app/shared/pricing/pricing.component.html new file mode 100644 index 0000000..85ded6c --- /dev/null +++ b/src/app/shared/pricing/pricing.component.html @@ -0,0 +1,245 @@ + +
+
+
+
+ +
+ Events + +
+ +
+
+ +
+
+
+
+
+ ... +
+
+
+

+ {{ event.subject }} +
+ {{ event.title }} +
+ {{event.subTitle}} +

+ +
+
+
+ ... +
+
+ +
+
+
+
+
+
Venue
+

+ {{ v.title }} + on {{ v.date }} + + , {{ v.address }} + - ({{ v.info }}). +

+
+
+ +
+
+
Highlights
+

+ * {{ o }} +

+
+
+ +
+
+
Contact Information
+

Email: {{ event.email }}

+

Phone: {{ event.phone }}

+
+
+
+
+
+
+
Date
+

{{ event.date }}

+
+
+ +
+
+
+ Organizing Committee - Department of Trauma Surgery +
+

+ * {{ o }} +

+
+
+ +
+
+
Registration
+ +

+ {{ fee.desc }} +

+ + +
+
+
+
+ +

+ + + +

+ +
+
+
+
+
+ +
+
+

+ Brochure +

+ +
+
+
+
+ ... +
+
+
+
+
+
+ ... +
+
+
+
+
+
+
+ + +
+
+
+ +

+ meet Our Faculties +

+
+
+ + +
+
+
+ +
+ +
+

{{ item.name }}

+

+ {{ item.prof }}, {{ item.at }} +

+ +
+ +
+
+ +
+
+
+
+
+ + diff --git a/src/app/shared/pricing/pricing.component.scss b/src/app/shared/pricing/pricing.component.scss new file mode 100644 index 0000000..2e4a8b0 --- /dev/null +++ b/src/app/shared/pricing/pricing.component.scss @@ -0,0 +1,14 @@ +.fw-bolder{ + font-weight: bolder!important; +} + + + +.im{ + max-width: 40%; + width: 154px; + height: 154px; + /* background-size: 100% auto; */ + object-fit: cover; + +} \ No newline at end of file diff --git a/src/app/shared/pricing/pricing.component.spec.ts b/src/app/shared/pricing/pricing.component.spec.ts new file mode 100644 index 0000000..b06797f --- /dev/null +++ b/src/app/shared/pricing/pricing.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PricingComponent } from './pricing.component'; + +describe('PricingComponent', () => { + let component: PricingComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ PricingComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PricingComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/pricing/pricing.component.ts b/src/app/shared/pricing/pricing.component.ts new file mode 100644 index 0000000..d37ee2f --- /dev/null +++ b/src/app/shared/pricing/pricing.component.ts @@ -0,0 +1,94 @@ +import { Component, OnInit } from "@angular/core"; +import { Router } from "@angular/router"; +import { DataService } from "src/app/data.service"; + +@Component({ + selector: "app-pricing", + templateUrl: "./pricing.component.html", + styleUrls: ["./pricing.component.scss"], +}) + +/** + * Pricing component + */ +export class PricingComponent implements OnInit { + constructor(private router: Router, private dataService: DataService) {} + + events = []; + doctors = []; + ngOnInit(): void { + this.events = this.dataService.events; + this.doctors = this.events[0].doctors; + } + + team = [ + { + image: "sukria.png", + name: "Dr. Sukria Nayak", + dept: "Professor Head, Department of Trauma Surgery, CMC Vellore", + }, + { + image: "amit.png", + name: "Dr. Amit Gupta", + dept: "Professor, Division of Trauma Surgery, JPNATC, AIIMS, New Delhi", + }, + { + name: "Dr. Kirthi Sathyakumar", + dept: " Associate Professor, Emergency Radiology, CMC, Vellore", + }, + { + image: "subodh.png", + name: "Dr. Subodh Kumar", + dept: "Professor, Division of Trauma Surgery, JPNATC, AIIMS, New Delhi", + }, + { + name: "Dr. Santhosh R Benjamin", + dept: " Associate Professor, Department of Cardiothoracic Surgery, CMC Vellore", + }, + { + image: "kajal.png", + name: "Dr. Kajal Jain", + dept: "Professor, Department of Anaesthesia, PGIMER, Chandigarh", + }, + { + name: "Dr. Raghu", + dept: "Professor, Division of Trauma and Acute Care Surgery, University Hospital, Michigan Medicine, Ann Arbor", + }, + { + name: "Dr. Vinay M Rao", + dept: " Assistant Professor, Department of Cardiothoracic Surgery, CMC Vellore", + }, + { + name: "Dr. Niladri Banerjee", + dept: " Assistant Professor, Department of Surgery, AIIMS, Jodhpur", + }, + { + name: "Dr. Susheel Sudheesh", + dept: " Assistant Professor, Department of Anaesthesia, CMC Vellore", + }, + { + image: "srujan.png", + name: "Dr. Srujan Lam Sharma", + dept: " Assistant Professor, Department of Trauma Surgery, CMC, Vellore", + }, + { + image: "vignesh.png", + name: "Dr. Vignesh Kumar", + dept: " Associate Professor, PIMS, Puducherry ", + }, + { + name: "Dr. Joses Dany James", + dept: " Assistant Professor, Department of Trauma Surgery, CMC Vellore", + }, + ]; + + register(event) { + console.log(event); + this.router.navigate(["/register", event.id]); + } + + status(event) { + console.log(event); + this.router.navigate(["/check-status"]); + } +} diff --git a/src/app/shared/scrollspy.directive.ts b/src/app/shared/scrollspy.directive.ts new file mode 100644 index 0000000..b7f1ca8 --- /dev/null +++ b/src/app/shared/scrollspy.directive.ts @@ -0,0 +1,40 @@ +import { Directive, Input, EventEmitter, Inject, Output, ElementRef, HostListener } from '@angular/core'; +import { DOCUMENT } from '@angular/common'; + +@Directive({ + selector: '[appScrollspy]' +}) +export class ScrollspyDirective { + + @Input() public spiedTags = []; + @Output() public sectionChange = new EventEmitter(); + private currentSection: string; + + // tslint:disable-next-line: variable-name + constructor(private _el: ElementRef, @Inject(DOCUMENT) private document: Document,) { } + + @HostListener('window:scroll', ['$event']) + /** + * Window scroll method + */ + onScroll(event: any) { + let currentSection: string; + const children = this._el.nativeElement.querySelectorAll('section'); + const scrollTop = this.document.documentElement.scrollTop; + const parentOffset = this.document.documentElement.offsetTop; + + // tslint:disable-next-line: prefer-for-of + for (let i = 0; i < children.length; i++) { + const element = children[i]; + if (this.spiedTags.some(spiedTag => spiedTag === element.tagName)) { + if ((element.offsetTop - parentOffset) <= scrollTop) { + currentSection = element.id; + } + } + } + if (currentSection !== this.currentSection) { + this.currentSection = currentSection; + this.sectionChange.emit(this.currentSection); + } + } +} diff --git a/src/app/shared/services/services.component.html b/src/app/shared/services/services.component.html new file mode 100644 index 0000000..f4d4cce --- /dev/null +++ b/src/app/shared/services/services.component.html @@ -0,0 +1,39 @@ + +
+
+
+
+ +

about us

+

Christian Medical College Vellore was started as a + one-bedded clinic-cum-dispensary in 1900 by Dr. Ida Sophia Scudder, the daughter of + second-generation medical missionaries. Today, this healthcare organization of international repute + includes a network of primary, secondary, tertiary and quaternary care hospitals, with around 3844 + beds spread across six campuses in and around Vellore, and in the neighboring state of Andhra + Pradesh. The main hospital is situated in the 19-acre Town Campus (earlier referred to as the + Thottappalayam Campus) in the heart of Vellore town. The hospital complex is the site for clinical + training for all the students. The vast majority of the clinical departments are located on the + hospital campus.  From April 2016 to March 2017, the hospital, which has close to 2500 beds, + received more than 21 lakh outpatients, more than a lakh inpatients and recorded more than 14, 500 + births.

+
+
+ + + +
+
+ \ No newline at end of file diff --git a/src/app/shared/services/services.component.scss b/src/app/shared/services/services.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/shared/services/services.component.spec.ts b/src/app/shared/services/services.component.spec.ts new file mode 100644 index 0000000..1284c5f --- /dev/null +++ b/src/app/shared/services/services.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ServicesComponent } from './services.component'; + +describe('ServicesComponent', () => { + let component: ServicesComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ServicesComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ServicesComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/services/services.component.ts b/src/app/shared/services/services.component.ts new file mode 100644 index 0000000..4beb732 --- /dev/null +++ b/src/app/shared/services/services.component.ts @@ -0,0 +1,46 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-services', + templateUrl: './services.component.html', + styleUrls: ['./services.component.scss'] +}) + +/** + * Services component + */ +export class ServicesComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + + servicesData = [ + { + icon: 'ti-settings', + title: 'Digital Design' + }, + { + icon: 'ti-palette', + title: 'Unlimited Colors' + }, + { + icon: 'ti-stats-up', + title: 'Strategy Solutions' + }, + { + icon: 'ti-package', + title: 'Awesome Support' + }, + { + icon: 'ti-dashboard', + title: 'Truly Multipurpose' + }, + { + icon: 'ti-headphone', + title: 'Easy to customize' + } + ] + +} diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts new file mode 100644 index 0000000..90ad3c6 --- /dev/null +++ b/src/app/shared/shared.module.ts @@ -0,0 +1,31 @@ +import { NgModule } from '@angular/core'; + +import { CommonModule } from '@angular/common'; +import { CarouselModule } from 'ngx-owl-carousel-o'; +import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to'; + +import { ServicesComponent } from './services/services.component'; +import { FeaturesComponent } from './features/features.component'; +import { ClientComponent } from './client/client.component'; +import { TeamComponent } from './team/team.component'; +import { FaqComponent } from './faq/faq.component'; +import { PricingComponent } from './pricing/pricing.component'; +import { ContactComponent } from './contact/contact.component'; +import { FooterComponent } from './footer/footer.component'; +import { SwitcherComponent } from './switcher/switcher.component'; +import { ScrollspyDirective } from './scrollspy.directive'; +import { BrowserModule } from '@angular/platform-browser'; + +@NgModule({ + declarations: [ServicesComponent, FeaturesComponent, ClientComponent, TeamComponent, FaqComponent, PricingComponent, ContactComponent, FooterComponent, SwitcherComponent, ScrollspyDirective], + imports: [ + // BrowserModule, + CommonModule, + CarouselModule, + ScrollToModule.forRoot() + ], + exports: [ServicesComponent, FeaturesComponent, ClientComponent, TeamComponent, FaqComponent, PricingComponent, ContactComponent, FooterComponent, SwitcherComponent, ScrollspyDirective] +}) +export class SharedModule { + +} diff --git a/src/app/shared/switcher/switcher.component.html b/src/app/shared/switcher/switcher.component.html new file mode 100644 index 0000000..cfd3cf3 --- /dev/null +++ b/src/app/shared/switcher/switcher.component.html @@ -0,0 +1,35 @@ + +
+ +
+ +
+
+

Select your color

+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+ +
+
+ \ No newline at end of file diff --git a/src/app/shared/switcher/switcher.component.scss b/src/app/shared/switcher/switcher.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/shared/switcher/switcher.component.spec.ts b/src/app/shared/switcher/switcher.component.spec.ts new file mode 100644 index 0000000..013def3 --- /dev/null +++ b/src/app/shared/switcher/switcher.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SwitcherComponent } from './switcher.component'; + +describe('SwitcherComponent', () => { + let component: SwitcherComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ SwitcherComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SwitcherComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/switcher/switcher.component.ts b/src/app/shared/switcher/switcher.component.ts new file mode 100644 index 0000000..1aaa6aa --- /dev/null +++ b/src/app/shared/switcher/switcher.component.ts @@ -0,0 +1,45 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-switcher', + templateUrl: './switcher.component.html', + styleUrls: ['./switcher.component.scss'] +}) + +/** + * Switcher component + */ +export class SwitcherComponent implements OnInit { + + isVisible = false; + + constructor() { } + + ngOnInit(): void { + } + + windowScroll() { + if ( + document.body.scrollTop > 100 || + document.documentElement.scrollTop > 100 + ) { + document.getElementById("back-to-top").style.display = "inline"; + } else { + document.getElementById("back-to-top").style.display = "none"; + } + } + /** + * Onclick color change + * @param theme theme color + */ + setTheme(theme) { + document + .getElementById('color-opt') + .setAttribute('href', 'assets/css/colors/' + theme + '.css'); + } + + toggleSwitcher() { + this.isVisible = !this.isVisible; + } + +} diff --git a/src/app/shared/team/team.component.html b/src/app/shared/team/team.component.html new file mode 100644 index 0000000..2feabd2 --- /dev/null +++ b/src/app/shared/team/team.component.html @@ -0,0 +1,50 @@ + + +
+
+
+
+ +

Our Faculties

+ +
+
+ +
+ +
+
+
+ +
+ + + + +
+

{{ item.name }}

+

+ {{ item.dept }} +

+
+ +
+
+ +
+
+
+
+
+ diff --git a/src/app/shared/team/team.component.scss b/src/app/shared/team/team.component.scss new file mode 100644 index 0000000..5aa1f4c --- /dev/null +++ b/src/app/shared/team/team.component.scss @@ -0,0 +1,3 @@ +.team-bg{ + background-color: #fffff8; +} \ No newline at end of file diff --git a/src/app/shared/team/team.component.spec.ts b/src/app/shared/team/team.component.spec.ts new file mode 100644 index 0000000..4a38103 --- /dev/null +++ b/src/app/shared/team/team.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TeamComponent } from './team.component'; + +describe('TeamComponent', () => { + let component: TeamComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ TeamComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(TeamComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/team/team.component.ts b/src/app/shared/team/team.component.ts new file mode 100644 index 0000000..9bdb6a5 --- /dev/null +++ b/src/app/shared/team/team.component.ts @@ -0,0 +1,104 @@ +import { Component, OnInit } from "@angular/core"; + +@Component({ + selector: "app-team", + templateUrl: "./team.component.html", + styleUrls: ["./team.component.scss"], +}) + +/** + * Team component + */ +export class TeamComponent implements OnInit { + constructor() {} + + ngOnInit(): void {} + + team = [ + { + image : 'sukria.png', + name: "Dr. Sukria Nayak", + dept: "Professor & Head, Department of Trauma Surgery, CMC Vellore", + }, + + { + image : '13.jpg', + + name: "Dr. Vijayan P", + dept: "Associate Surgeon, Department of Trauma Surgery, CMC Vellore", + }, + + { + image : '14.jpg', + + name: "Dr. Joses Dany James", + dept: " Assistant Professor, Department of Trauma Surgery, CMC Vellore", + }, + + { + image : 'srujan.png', + name: "Dr. Srujan Lam Sharma", + dept: " Assistant Professor, Department of Trauma Surgery, CMC, Vellore", + }, + ] + teama= [ + { + image : 'sukria.png', + name: "Dr. Sukria Nayak", + dept: "Head, Department of Trauma Surgery, CMC Vellore", + }, + { + image : 'amit.png', + name: "Dr. Amit Gupta", + dept: "Professor, Division of Trauma Surgery, JPNATC, AIIMS, New Delhi", + }, + { + name: "Dr. Kirthi Sathyakumar", + dept: " Associate Professor, Emergency Radiology, CMC, Vellore", + }, + { + image : 'subodh.png', + name: "Dr. Subodh Kumar", + dept: "Professor, Division of Trauma Surgery, JPNATC, AIIMS, New Delhi", + }, + { + name: "Dr. Santhosh R Benjamin", + dept: " Associate Professor, Department of Cardiothoracic Surgery, CMC Vellore", + }, + { + image : 'kajal.png', + name: "Dr. Kajal Jain", + dept: "Professor, Department of Anaesthesia, PGIMER, Chandigarh", + }, + { + name: "Dr. Raghu", + dept: "Professor, Division of Trauma and Acute Care Surgery, University Hospital, Michigan Medicine, Ann Arbor", + }, + { + name: "Dr. Vinay M Rao", + dept: " Assistant Professor, Department of Cardiothoracic Surgery, CMC Vellore", + }, + { + name: "Dr. Niladri Banerjee", + dept: " Assistant Professor, Department of Surgery, AIIMS, Jodhpur", + }, + { + name: "Dr. Susheel Sudheesh", + dept: " Assistant Professor, Department of Anaesthesia, CMC Vellore", + }, + { + image : 'srujan.png', + name: "Dr. Srujan Lam Sharma", + dept: " Assistant Professor, Department of Trauma Surgery, CMC, Vellore", + }, + { + image : 'vignesh.png', + name: "Dr. Vignesh Kumar", + dept: " Associate Professor, PIMS, Puducherry ", + }, + { + name: "Dr. Joses Dany James", + dept: " Assistant Professor, Department of Trauma Surgery, CMC Vellore", + }, + ]; +} diff --git a/src/app/staff/staff.component.css b/src/app/staff/staff.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/staff/staff.component.html b/src/app/staff/staff.component.html new file mode 100644 index 0000000..941684f --- /dev/null +++ b/src/app/staff/staff.component.html @@ -0,0 +1,275 @@ +
+
+
+
+
+
+
Meet Our Professors
+

Creative Minds

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + + + +
+
+
+

Our Path Leaders

+
+
+ + +
+ +
+ {{ professor.firstName }} {{ professor.lastName }} +
+

+ {{ professor.firstName }} {{ professor.lastName }} +

+
{{ professor.position }}
+
+ {{ professor.department }}
+
{{ professor.email }}
+
+ + + + +
+
+
+ + +
\ No newline at end of file diff --git a/src/app/staff/staff.component.spec.ts b/src/app/staff/staff.component.spec.ts new file mode 100644 index 0000000..388f567 --- /dev/null +++ b/src/app/staff/staff.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { StaffComponent } from './staff.component'; + +describe('StaffComponent', () => { + let component: StaffComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ StaffComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(StaffComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/staff/staff.component.ts b/src/app/staff/staff.component.ts new file mode 100644 index 0000000..b80a6a1 --- /dev/null +++ b/src/app/staff/staff.component.ts @@ -0,0 +1,31 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; +import { ProfessorService } from '../root-service/professor.service'; + +@Component({ + selector: 'app-staff', + templateUrl: './staff.component.html', + styleUrls: ['./staff.component.css'], +}) +export class StaffComponent { + storeData: any; + constructor(public store: Store, private professorService: ProfessorService) { + this.initStore(); + this.loadProfessors(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } + professors: any[] = []; + + loadProfessors() { + this.professorService.getAllProfessors().subscribe((result) => { + console.log(result) + this.professors = result.content; + }); + } +} diff --git a/src/app/store/index.reducer.ts b/src/app/store/index.reducer.ts new file mode 100644 index 0000000..fd53b5d --- /dev/null +++ b/src/app/store/index.reducer.ts @@ -0,0 +1,28 @@ +export const initialState = { + isShowMainLoader: true, + theme: 'light', // light|dark + direction: 'ltr', // ltr|rtl +}; + +export function indexReducer(state = initialState, action: any) { + const type = action.type; + const payload = action.payload; + if (type === 'toggleTheme') { + localStorage.setItem('theme', payload); + if (payload === 'dark') { + document.querySelector('body')?.classList.add('dark'); + } else { + document.querySelector('body')?.classList.remove('dark'); + } + + return { ...state, ...{ theme: payload } }; + } else if (type === 'toggleDirection') { + localStorage.setItem('direction', payload); + document.querySelector('html')?.setAttribute('dir', payload || 'ltr'); + return { ...state, ...{ direction: payload } }; + } else if (type === 'toggleMainLoader') { + return { ...state, ...{ isShowMainLoader: payload } }; + } + + return state; +} diff --git a/src/app/student.service.spec.ts b/src/app/student.service.spec.ts new file mode 100644 index 0000000..85cfc63 --- /dev/null +++ b/src/app/student.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { StudentService } from './student.service'; + +describe('StudentService', () => { + let service: StudentService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(StudentService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/student.service.ts b/src/app/student.service.ts new file mode 100644 index 0000000..235de07 --- /dev/null +++ b/src/app/student.service.ts @@ -0,0 +1,63 @@ +import { HttpClient, HttpParams } from "@angular/common/http"; +import { Injectable } from "@angular/core"; +// import { createClient } from "@supabase/supabase-js"; +import { Observable } from "rxjs"; + +@Injectable({ + providedIn: "root", +}) +export class StudentService { + supabaseUrl = "http://210.18.189.94:8093"; + supabaseKey = + "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE"; + + constructor(private http: HttpClient) {} + + // private supabase = createClient(this.supabaseUrl, this.supabaseKey); + + // async getAllStudents() { + // const { data, error } = await this.supabase.from("student").select("*"); + + // if (error) { + // console.error("Error fetching students:", error.message); + // return []; + // } + // console.log("student : ", data); + + // return data; + // } + + // async insertStudent() { + // const { data, error } = await this.supabase + // .from("student") + // .insert([{ name: "Gov", dept: "mech" }]) + // .select(); + + // if (error) { + // console.error("Error fetching students:", error.message); + // return ''; + // } + // console.log("insert student : ", data); + + // return data; + // } + + makeHttpRequest(): Observable { + // Define the URL + const url = "http://210.18.189.94:8093/rest/v1/company?select=*"; + + // Define the API keys as form variables + const apikey = + "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE"; + const authorization = + "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE"; + + // Create a HttpParams object to hold the form variables + const params = new HttpParams() + .set("apikey", apikey) + .set("Authorization", authorization); + + // Make the HTTP GET request with the form variables + return this.http.get(url, { params }); + } +} diff --git a/src/app/team.html b/src/app/team.html new file mode 100644 index 0000000..861a2bb --- /dev/null +++ b/src/app/team.html @@ -0,0 +1,472 @@ +
+
+
+
+
+
+
Meet Our Team
+

Creative Minds

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+
+
Who are we?
+

We thrive to help our clients have global impact

+
+

+ In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface + without relying on meaningful content. Lorem ipsum may be used as a placeholder before final copy is available. +

+ Join Our Team +
+
+ about-who-bg +
+ +
+
+
+

Our Visionary Leaders

+
+
+
+
+ leader-1 +
+

Aditya Patel

+
Chief Executive Officer
+
+
+
+ leader-2 +
+

+ Audrey Ramirez +

+
Chief Operating Officer
+
+
+
+ leader-3 +
+

+ James Robinson +

+
Chief Financial Officer
+
+
+
+ leader-4 +
+

Daniel Allen

+
Chief Marketing Officer
+
+
+
+
+ +
+
+
+

Our Path Leaders

+
+
+
+
+ path-leaders-1 +
+

+ Joseph Gonzalez +

+
Director of Operations
+
+
+
+ path-leaders-2 +
+

+ Gregory Hayes +

+
HR Manager
+
+
+
+ path-leaders-3 +
+

Brooke Cagle

+
Team Manager
+
+
+
+ path-leaders-4 +
+

+ Meysam Jarahkar +

+
Asst. Director Sales
+
+
+
+ path-leaders-5 +
+

Joel Muniz

+
Business Development Manager
+
+
+
+ path-leaders-6 +
+

Jakob Owens

+
Senior Manager
+
+
+
+ path-leaders-7 +
+

+ Jonas Kakaroto +

+
Lead Administrator Networking
+
+
+
+ path-leaders-8 +
+

Amy Hirschi

+
Project Manager
+
+
+
+
+ + +
diff --git a/src/app/team.ts b/src/app/team.ts new file mode 100644 index 0000000..cc174b9 --- /dev/null +++ b/src/app/team.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './team.html', +}) +export class TeamComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/terms-conditions.html b/src/app/terms-conditions.html new file mode 100644 index 0000000..de11151 --- /dev/null +++ b/src/app/terms-conditions.html @@ -0,0 +1,953 @@ +
+
+
+
+
+
+

Terms & Conditions

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+

Terms and Conditions

+

+ This document is an electronic record in terms of Information Technology Act, 2000 and rules there under as applicable and the amended + provisions pertaining to electronic records in various statutes as amended by the Information Technology Act, 2000. This electronic record + is generated by a computer system and does not require any physical or digital signatures. +

+

+ his document is published in accordance with the provisions of Rule 3 (1) of the Information Technology (Intermediaries guidelines) Rules, + 2011 that require publishing the rules and regulations, privacy policy and Terms of Use for access or usage of careers.padme.com, life. + padme.com & blog.padme.com website. +

+

+ This Website, including all Materials present (excluding any applicable third party materials), is the property of Myntra and is copyrighted + and protected by worldwide copyright laws and treaty provisions. You hereby agree to comply with all copyright laws worldwide in Your use of + this Website and to prevent any unauthorized copying of the Materials. +

+

+ By accessing this website we assume you accept these terms and conditions. Do not continue to use Website Name if you do not agree to take + all of the terms and conditions stated on this page. +

+

+ The following terminology applies to these Terms and Conditions, Privacy Statement and Disclaimer Notice and all Agreements: “Client”, “You” + and “Your” refers to you, the person log on this website and compliant to the Company's terms and conditions. “The Company”, “Ourselves”, + “We”, “Our” and “Us”, refers to our Company. “Party”, “Parties”, or “Us”, refers to both the Client and ourselves. +

+
+
+

Cookies

+

+ We employ the use of cookies. By accessing Website Name, you agreed to use cookies in agreement with the Company Name's Privacy Policy. +

+

+ Most interactive websites use cookies to let us retrieve the user's details for each visit. Cookies are used by our website to enable the + functionality of certain areas to make it easier for people visiting our website. Some of our affiliate/advertising partners may also use + cookies. +

+
+
+

License

+

+ Unless otherwise stated, Company Name and/or its licensors own the intellectual property rights for all material on Website Name. All + intellectual property rights are reserved. You may access this from Website Name for your own personal use subjected to restrictions set in + these terms and conditions. +

+
You must not:
+
    +
  • + Republish material from Website Name +
  • +
  • + Sell, rent or sub-license material from Website Name +
  • +
  • + Reproduce, duplicate or copy material from Website Name +
  • +
  • + Redistribute content from Website Name +
  • +
+

This Agreement shall begin on the date hereof.

+

+ Parts of this website offer an opportunity for users to post and exchange opinions and information in certain areas of the website. Company + Name does not filter, edit, publish or review Comments prior to their presence on the website. Comments do not reflect the views and + opinions of Company Name,its agents and/or affiliates. Comments reflect the views and opinions of the person who post their views and + opinions. +

+

+ Company Name reserves the right to monitor all Comments and to remove any Comments which can be considered inappropriate, offensive or + causes breach of these Terms and Conditions. +

+

+ Company Name reserves the right to monitor all Comments and to remove any Comments which can be considered inappropriate, offensive or + causes breach of these Terms and Conditions. +

+
You warrant and represent that:
+
    +
  • + You are entitled to post the Comments on our website and have all necessary licenses and consents to do so; +
  • +
  • + The Comments do not invade any intellectual property right, including without limitation copyright, patent or trademark of any +
  • +
+
Third party;
+
    +
  • + The Comments do not contain any defamatory, libelous, offensive, indecent or otherwise unlawful material which is an invasion of privacy +
  • +
+

+ You hereby grant Company Name a non-exclusive license to use, reproduce, edit and authorize others to use, reproduce and edit any of your + Comments in any and all forms, formats or media. +

+
+
+

Hyperlinking to our Content

+

The following organizations may link to our Website without prior written approval:

+
    +
  • + Government agencies; +
  • +
  • + Search engines; +
  • +
  • + News organizations; +
  • +
  • + Online directory distributors may link to our Website in the same manner as they hyperlink to the Websites of other listed businesses; + and System wide Accredited Businesses except soliciting non-profit organizations, charity shopping malls, and charity fundraising groups +
  • +
+

which may not hyperlink to our Web site.

+
+
+
+
diff --git a/src/app/terms-conditions.ts b/src/app/terms-conditions.ts new file mode 100644 index 0000000..1f742a2 --- /dev/null +++ b/src/app/terms-conditions.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { Store } from '@ngrx/store'; + +@Component({ + moduleId: module.id, + templateUrl: './terms-conditions.html', +}) +export class TermsConditionsComponent { + storeData: any; + constructor(public store: Store) { + this.initStore(); + } + async initStore() { + this.store + .select((d) => d.index) + .subscribe((d) => { + this.storeData = d; + }); + } +} diff --git a/src/app/xml-parser.service.spec.ts b/src/app/xml-parser.service.spec.ts new file mode 100644 index 0000000..48e2c20 --- /dev/null +++ b/src/app/xml-parser.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { XmlParserService } from './xml-parser.service'; + +describe('XmlParserService', () => { + let service: XmlParserService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(XmlParserService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/xml-parser.service.ts b/src/app/xml-parser.service.ts new file mode 100644 index 0000000..410f0a8 --- /dev/null +++ b/src/app/xml-parser.service.ts @@ -0,0 +1,57 @@ +import { Injectable } from '@angular/core'; + +@Injectable({ + providedIn: 'root' +}) +export class XmlParserService { + + constructor() { } + + parseXml(xmlData: string): any { + const parser = new DOMParser(); + const xmlDoc = parser.parseFromString(xmlData, 'text/xml'); + + // Access and extract data from xmlDoc as needed + const registration = xmlDoc.getElementsByTagName('Registration')[0].textContent; + const transid = xmlDoc.getElementsByTagName('Transid')[0].textContent; + const resultCode = xmlDoc.getElementsByTagName('ResultCode')[0].textContent; + const result = xmlDoc.getElementsByTagName('Result')[0].textContent; + const url = xmlDoc.getElementsByTagName('URL')[0].textContent; + + // Create an object to hold the extracted data + const parsedData = { + Registration: registration, + Transid: transid, + ResultCode: resultCode, + Result: result, + URL: url + }; + + return parsedData; + } + + + parseXmlForStatus(xml: string): any { + const parser = new DOMParser(); + const xmlDoc = parser.parseFromString(xml, 'text/xml'); + + const conferencepay = xmlDoc.querySelector('conferencepay'); + if (!conferencepay) { + return null; + } + + const properties = { + Registration: conferencepay.querySelector('Registration').textContent, + Transid: conferencepay.querySelector('Transid').textContent, + BankTransid: conferencepay.querySelector('BankTransid').textContent, + Authid: conferencepay.querySelector('Authid').textContent, + Amount: conferencepay.querySelector('Amount').textContent, + ResultCode: conferencepay.querySelector('ResultCode').textContent, + Result: conferencepay.querySelector('Result').textContent, + Refund: conferencepay.querySelector('Refund').textContent, + TranDetails: conferencepay.querySelector('TranDetails').textContent + }; + + return properties; + } +} diff --git a/src/assets/cmc/CMCH_Vellore.jpeg b/src/assets/cmc/CMCH_Vellore.jpeg new file mode 100644 index 0000000..a2a0f54 Binary files /dev/null and b/src/assets/cmc/CMCH_Vellore.jpeg differ diff --git a/src/assets/cmc/ct.jpg b/src/assets/cmc/ct.jpg new file mode 100644 index 0000000..b0364c1 Binary files /dev/null and b/src/assets/cmc/ct.jpg differ diff --git a/src/assets/cmc/drapt2.jpeg b/src/assets/cmc/drapt2.jpeg new file mode 100644 index 0000000..48bb771 Binary files /dev/null and b/src/assets/cmc/drapt2.jpeg differ diff --git a/src/assets/cmc/drapt2.png b/src/assets/cmc/drapt2.png new file mode 100644 index 0000000..3480c23 Binary files /dev/null and b/src/assets/cmc/drapt2.png differ diff --git a/src/assets/cmc/logo-1.png b/src/assets/cmc/logo-1.png new file mode 100644 index 0000000..1b83e11 Binary files /dev/null and b/src/assets/cmc/logo-1.png differ diff --git a/src/assets/cmc/logo-2.png b/src/assets/cmc/logo-2.png new file mode 100644 index 0000000..9fedb72 Binary files /dev/null and b/src/assets/cmc/logo-2.png differ diff --git a/src/assets/cmc/p1.png b/src/assets/cmc/p1.png new file mode 100644 index 0000000..3cc4d49 Binary files /dev/null and b/src/assets/cmc/p1.png differ diff --git a/src/assets/cmc/ranipet-Kannigapuram-2022-06-15-main-entrance-signsWA-1.jpeg b/src/assets/cmc/ranipet-Kannigapuram-2022-06-15-main-entrance-signsWA-1.jpeg new file mode 100644 index 0000000..910d1a0 Binary files /dev/null and b/src/assets/cmc/ranipet-Kannigapuram-2022-06-15-main-entrance-signsWA-1.jpeg differ diff --git a/src/assets/cmc/s1.png b/src/assets/cmc/s1.png new file mode 100644 index 0000000..1fb9836 Binary files /dev/null and b/src/assets/cmc/s1.png differ diff --git a/src/assets/cmc/s2.png b/src/assets/cmc/s2.png new file mode 100644 index 0000000..ae5d3d7 Binary files /dev/null and b/src/assets/cmc/s2.png differ diff --git a/src/assets/css/lightbox.css b/src/assets/css/lightbox.css new file mode 100644 index 0000000..aa4513e --- /dev/null +++ b/src/assets/css/lightbox.css @@ -0,0 +1,375 @@ +html.lb-disable-scrolling { + overflow: hidden; + } + + .lightboxOverlay { + position: absolute; + top: 0; + left: 0; + z-index: 9999; + background-color: black; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); + opacity: 0.8; + } + + .lightbox { + position: absolute; + left: 0; + width: 100%; + z-index: 10000; + text-align: center; + line-height: 0; + font-weight: normal; + box-sizing: content-box; + outline: none; + } + + .lightbox .lb-image { + height: auto; + max-width: inherit; + max-height: none; + border-radius: 3px; + } + + .lightbox a img { + border: none; + } + + .lb-outerContainer { + position: relative; + zoom: 1; + width: 250px; + height: 250px; + margin: 0 auto; + border-radius: 4px; + + /* Background color behind image. + This is visible during transitions. */ + background-color: white; + } + + .lb-outerContainer:after { + content: ""; + display: table; + clear: both; + } + + .lb-loader { + position: absolute; + top: 43%; + left: 0; + height: 25%; + width: 100%; + text-align: center; + line-height: 0; + } + + .lb-cancel { + display: block; + width: 32px; + height: 32px; + margin: 0 auto; + background: url('data:image/gif;base64,R0lGODlhIAAgAPUuAOjo6Nzc3M3Nzb+/v7e3t7GxsbW1tbu7u8XFxdHR0djY2MHBwa2trbm5ucnJyaSkpKWlpaGhoeLi4urq6u7u7ubm5vLy8vb29vT09Pr6+v39/aysrK+vr7Ozs8fHx9vb297e3qmpqb29vdPT06amptXV1aCgoMvLy8/Pz9fX18PDw/j4+Ozs7ODg4PDw8KioqOTk5JqampmZmZycnP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBwAuACwAAAAAIAAgAEAG/0CXcEgECQ6bUGRDbDpdimTo9QoJnlhsYVvojLLgrEAkGiwWiFTYldGsRyHSYz6P2COG9XCw2TAYeXprCQYEhQcKgoouAQ4IHg4CAiMpCiASFRMUFhgXFxkZawEDcnd2Jh2LLiAdLyQvELEFX6pCAQx9fQ21T1wFHCi8TwcGxQYnwk8eBAcHZQnJTh8D1I8OJwmWMBMsFJudoG4u4mAgIwIoCSMKlpjcmxeLCgcPJianEcIKBXR1prVRSMiBUIfDAA8JoC1SMYWKKw/RXCzoE6IixIgC+uDaQCsiAQ4gOSCIOMRXhxIkhRjoYEwhSQTGCAxIyYiAzWYjU35o5oxaIj095J6AWFDmDAIHCVpgubCizRoFKtBAQjeixIdLADRZYBpOQ1An5qYmLKEgQAsYWb95UiUhgIJK7bZRCBMEACH5BAkHADMALAAAAAAZACAAAAb/wJlwSAQJRJxNJMLgHBzE6FBxeD0ey2zEBJESA4sXBHItZ2MJr1DReZFIZfNS9lGXOC83aRzPktQKHCEheW4QBQseCQkeAwZeIAYbG4OEBiNqXgiTnBsemV6BkwwbDCigXioMq6RQqFEBHLKyB69SKAW5BRwltlELugW1vkQHBh3In8RDBs3NactCBM4GvdEzBNMGBNbRB9MEB9DRAwQNBwcC1zMe5wciCOsj7wcDAwrXAe8i9ifrDvwGLEDQjdgHewtUIPBQJxqKBQM9OBDQkBgIBws9CBCQQAEMNRk0SAngoeTGBCMUgKgwgYIFDBcyhPTywSTHEiolsHR5YcVMMkgoOCbACUJny5cxf0ppkWIRzgAtYABg4QKmz5AivUhQ8LTozqo9M9iS0KKFURY8iQQBACH5BAkHAAAALAAAAAAZACAAAAb/QIBwSAShRBzGA8LhHAQgolSoEIVIENJjG+maHgfFFBBQbUKvF3bL7kZMpoFUYTij0xAI++E2yVJEJQUbhCF3JGsRfF0xB0QKg4SFIR0qDgkJHgMhjEUESZIbBiNjAAkvAkQeHAUFTRwOpaUKHa22CbKlCLatsblTAQYdwgVyv1MJBsrKJcdTCMsGxs5EAwQEBgQn1FIH1wQHpNxDBw0H52LjQucHIiKA6gAi7SID4uoL9QMLuPEOA/sW+FI3IiACDwHigVCB4OCleKYOejgh4INChwIEJJAQLxPFBCNKcBwHIiOKBCUUfJAwgaRGlApASKgwwQWGCxkyaNAgC8SIMxEpYs6cQMHChRU6f0lQEFQmzaJHk/6CAeKDU6JGkfJ0VkHCUAo2cerc6mwC0bBayQIIAgAh+QQJBwAuACwAAAAAHAAgAAAG/0CXcEgEJQaFAomUHAhAxGhUMWCErq/X8sF9HRRSYgDB2ZixWgiXG4kMAuFPg2Gmb0JZEkTNbnPARCUGHAUcDHZYS3wPbW0QCUMfBklJhhsGCA4JCQ4LDH0RMzIcQiAHBR2UBQclYS4JBY0mA0MOBrepBieuRAgmMhuRBLfEkLxEJwdEHgbDtwLHxwEE1NQq0ccjDdQHX9i8Dt3d19+uCyIiB07lrgPu7q3sUu8LCx/y8/ULCPf4vQgAPQDyJ8RBQAfxCL5C4MGBAGMKFTA88VCCQhcgHDhEMWIgwRECUCQYkcKiQhAiSSoAAeCiggQlFHwAIWGCQgkpUqxsAQMABToMBCXIpFlhAgULF1Zk0KCBnQQQRI0iVdpUXgUJEooeTbrU34QKWqd2JUiBxVaqTC9iwHAhg9u0roIAACH5BAkHADMALAAAAAAfACAAAAb/wJlwSAQlFoZOKNQpDFAgonQq/CwKjI12E3p5IaGDgjoNeAoFDoeR5XpfJAiENAiQq6ImOt1efiEPgRxjVCkHBkl7axsMfnGADxERLyNTH4eIBgVNBAgnIyMOCxwvgYGSL4RCIAMGBJkGIiVkIx2QkhEcdkICBK+/AndDCBC4kgNVBwcNzAeVwkMCkZIxMR8zJyIiygco0FIIESYyBava2gMe31MbL0QjA/HxqutVUgILAwsL6vXCHgtULEDwzB8ZDwgSeqBnEJwHDw4cRGlIBQFEAQImUpQSESOUjVNQYEyQYBfIISVQJBhR4trJIR9IlkjxocJLIRJY0gQh4WaVTxQKArSQMMGnBAUfeFaY4MJnCxAtYCylgOFmhaFLWbjAcCHDSwASplq4sCKDBg0nJwCYQGFsWbQvKcjlmsGszxkW3Nq9y/Ut3Lsz6u6tFwQAIfkECQcAAAAsAAAAACAAHwAABv9AgHBIBCUQBsOGkVwkQMSodPhBdApYzma7CYU2IsV0CnIQklcsg7H1vl6hQWBMHRjOhnSBw+6G3iQQBWJjCgcEiEkGWXxtfy8QEA8hI1MfAwcNiUkHHgIjIycIBX+BkpOEQyAqByIHmQQLJWMjBpEPuBEFUEMCra+vKHRDHiS4DxERA3UDzQMis8O9xrkRhALOzQnSUQjIyREHACAIKggLCyfcUh3gyR8pCPLyH+tRI+AmJh4oCB4eDgTYk8IhQgwZMQYIcODghIMUA6McIDGgHoCGAjLOiUgnowAUCVpwpAMyASgJI8ckSFCihAKUKaW0TKHgA8yYROApCADiJk5QIS0+8JQAg8LPIRU+9IRRYcLRIRKINqVg4SmACRKmurBwweqECSyoXriQ4SmFCVQxkM2gQcNRCmJXsHX71ILaDGytChmLl65eAH3/EvGbMggAIfkECQcAMQAsAAAAACAAHAAABv/AmHBIjI0QB0KhQCCoEqCidPpBNAzYzrLA2Ww4A8V0ChIkm1jDtuv1qgLj4Ud1ODQIafWSw2iHQh1iYwoLdXV3aXt8Xn8vLxsjUwELAwMihgcDDgIlIwIIBoyOJCQhgkMgDpSVlginRSMGIS+kpAVRQwkICJSUCXFDHrMQD8UDqLvJrsBEKCQQxA8vggke1tYlzEUe0cUHMS0O4icOv9pFBsUPEQ8fCgLw8LjnQyPs6xEeJQkoCQmR9IpwiEAwAoF9IxLCCUhkQMEIDEpITKFAAkMiJx5CSEHxw4cKF3MVNBHBI4iTAEIKSTAywskWEmBMUDlFQswKFVjQlIKzwoQ6CRR2FpkAACgFFxiEDqEA1IUFDBeULqVg4cKFFRmkxsDwFGuGDBq0Wv2qoWxYqWTPao1Bdi2RsmuDAAAh+QQJBwAqACwAAAAAIAAaAAAG/0CVcEhUlRwDkcEgOiASoKJ0GnA0G4Ts0lDoLhTTKUiQbB4IW0OnW2BwEIHwEORYDJKHPHq57jI2GwZgYR8eCAh2d2Z7bBx/gAUlYh6Ghwt2CAIJKSUoDgQFjo8hHINDLZ6UlQ6mRSUNgBshIS8dUUMpAicCAg4eknJCDn+0JC8LQxIJCby8ccFDCbIvJMaDCsvZH9BFHi/U1CIqMCXlJSOt3EIGJBAPECQfLQr09DDqRSMQ7g8PDiABAgC8hY9Ih37vDoBYKKFFhYJFFiB8UECCxQoVJkAkciJCvwgkYGAEMIHCxmgeH0SIQHICCwoWTgpJsLJmSQouLGCQqaJjTT0IFGBiuHCB54CaEThYsED0QgaeDWbIiGGiwVCnGTJo4KkCxIIXCFRg1UCWa5GsZc2e1ap2Ctu2UrbCFRIEACH5BAkHADAALAAAAAAgABkAAAb/QJhwSISVTovBgTAYeEagonQaEKgGooN2STB4VZ/pFJRAqK5NbaPr7RQ6noB4CBIg7oik8rD2GtwFHAQKc3UODh53KklZDQ1+BZGBBSVTLQkCAoceiR4JIyklCQ4HBpIcDBsFhEWimAInDgJhUyUHgRwbugZRdCMjCcEorHMwJwWpuhsqQxUKKaGivcVCCbkbISEbrBIf3goK09RCHtjZIQMwEy0g7QHi40INIS/1Lx8AEvr6APFFI/ZIkDgxAUCFgxX8SSnwAoLAAxMiRmShsMgCEg8cFqDAkaOLikQEPBj5IISFkxgsYAA5JAHJjBdiymRZ7SWEFRkyrFhxgaaxQwgjI7zISTSDzwERkkbgoKFpU6M0NyiNQEDDEA1QQSYwkdSECQdEmtJ8EYErV1o+hziYIcPrgbRTEMiYQQxuEQRCggAAIfkECQcAMQAsAAAAACAAHAAABv/AmHBIjClQHsRApFqcRsWoNAZKJBHNweDAJTQQn2lUkhI4PNeFlnsgGAgER0AslIxQArMDgdWKDg0NbwYdB2FTEiUJiwInZ3xqf4EGlB0dBiVSMAopIyMJeCcCIyUKCiMCIoKVBQUGh0QgHx+cnyMgUykDlq2tBLhDMCAgAQGmwHQCBr0cDAhDEzASEi2yEnRECQUczRscCkITABUV0xXYRSfcG+wLMS4sE/Lk6FEH7OwMARYuFP4TFOoVGYFvQwgBGBLyCyiwiAGDIUIMuEAxIYaGRRZseMHRQIYMKyhewEhEwAsSJzd8XLmC5JAEJCCQmKmhpoaPLoUkgMBz5pBSmxlyxhDwoCiEEEQ0CI2xoGjRAkuLcHD64EDUlxGoOrgqhEPWBxEgwFqKwESEsyasXnUQwezZCOCuDpDh1sQArkIE0DURYg7eGHMfZPqbNwGRIAAh+QQJBwAuACwAAAAAIAAfAAAG/0CXcEh0gUqCEwLhcAhKxajUJVGMEgKBw7NcDL6OzzRaASlKV1TS0f2KDocTaCwEtAIfRSqt5XoHbw0EA2JTExISICABemknbAhecAcEBAcpUhQAFRWIiwoKHx+LewiAcAYEBg2FRCwTsBUwiBVTCggHDQa7BiJzQxYUwq8AE3RCKJW8BR5DFxgW0cIUx0Mjux0F2gpCF97eGBjVRAIG2toqQisZGSve40UD5xwFAez37PBEJdocHBsCMmgYOFBfkQb/NmwYUFCIBoNEEDBQuMHAQ4hSBFDcwAHjlBEKQ4j0KCWByBAvQpCMIgDlixcbVhZZ8JLEiwIyiRQgwZPEgU6cQkZAGEoCwgmgLgw8gLCURKuVCB5Ilfozp4ClU19wk4kgQoSpDwbIDPDCq9kIDALkDDHj7AMoQGOY8PoiAdKkMdBuvUtChNq7Qp4SCQIAIfkECQcAMAAsAQAAAB8AIAAABv9AmHBIlHxKCZRgmVAQn9AhwKgojRIJwcmD6AoCUShl2gJ9qlctF6EaLASgsNA1AVQk5TNS6eAuBgMHKh9hFhQsExN3EgEfKVgCfQh/gQcDTk8XGBYuh4oSoKAtRwKTgAeoB4REF62bFIkTYR8OpwcNBANxQhkZKyuaFhZyQwkiqAQEBg68vb3AF8REJbcGygSEGtoaztJPCcoG4ggwGkPc3lAL4gYdHWDn5unT4h0FBQLz0gf39wv6xDz0K9AAoBwUHApwSGgwzIiFHDYwaBhlBAMGGyRShCIgY0YOG58g8LjBQEgiBkKE2BBiwEkhI168CDEz30sDL0jIDLEqpAdOCBByvnB5UgAJoBB0YtqIAMIDpBCIUkxQIMKDq1c5wDN4YEOEr1gfvEix0YCJr1a/hhgRckEMtF85LN0Y4+xZEVtD1n3QYO7JESfyQgkCACH5BAkHADAALAQAAAAcACAAAAb/QJhwCANIQB/FaFn6EJ9QC6tSOSZHCZTg5EgEoE+MizWptgKKUiKx9SAQCRAYdsFYKCxAFZnCChxuCCoeX0QZGSt1d2VWSmyAbyoLCwpEGhqIdRQTE3p7CgmQCAsDpU5DmBmKFnMBAqOlAwcqcqiZc0QjpLIHBwKWiLhPKSIivb2nMJjCUAm9DQ0EHszMCNAE2IXUYCnRBgQGCdu4AwbmBgjjcw7mHR0H6mAJ7R0G8VAlBfr6908j+/z6DUHBAaDAIQg4KOTQ4KAQAgw2SBzgcITEi78OEri4gYG2ex5CiJS44KCAEC9ejKzUDwGJlylDqOj3D8KDBzALfMS1BsGANw0Rbt58uSHFOA4RkgYVijPECHURTChl+qAAy3EdpCoNSmLATmomwop9cOBqvAImQmxoIKDWnCAAIfkECQcAKQAsBgAAABoAIAAABv/AlFBooUwqsBYoAAINn1Dh5VJkHSWgj2KUUDijwoz4giles9sESlD6PjXwzIpKYVUkSkVJLXAI3G9jGC4sADASAXoJAicOHh4fUXFTg0Z3H3uMDggIHgGSYmApEiWanCoegHCiTwqOnAsDAqy0CrADuJG0oiUquAMHJ7usDrgHByKfw1EKIiLHBwnLYCrQDR7TUQINDQQEA9lQCd0GBA3hTyUEBuUG6EMl7PLvQgny7PQpHgUd/Af5BwoILKCCXgkOAwugoHeAA0KEysI52ECRAYOC6FAwoEiRgwJ0HjaE4LgBQbgRBl6oHLmhQ0QoBwZ4SJDAwwIOEEiofBEihEc+VhwiCBX64AEECC90vuAwgpaMoUWjPiChs8NHVgpiQJWa88WCl2BezDAxlOiDFweu7vrQgGIEExs4HPhDKwgAIfkECQcAJwAsBwAAABkAIAAABv/Ak/CkyWQuGBdlAqgMn9BnEWlZViQgECzKnV6qkyvoo/hIuEPNFAMWf0qjUgutNiJdrAqsBVKUEoABaEYrVEt7ZCMJKAICIGhoFQEKio0ejpBoIIsCDh4ICZmanZ4ICIKiUQqlCCooqVwopioLC4+wTx8ItQMDI7hQHr29DsBPCcMiKsZDJQfPBwPMQinQz9MnzgcEDQ3YCQ0EBAbe0w4G4wbS0wMG7gYI0yUdBvQGocwiBQUd9KjADvYJjGcsQQEOAgsoMOaBg0OEHDw8CRACX5QRBjZo3MCAg4F/J2LMMMFgAKgEHhYUeBEixMYNCo+ZiEAzwoObN0m8YLmxQAk0KDJMCLWJM+fOlhsMLHxSQuhQojchkNDpcgHIIQoaRHiKk4TUECKWQgIh4ADHmw4PYIIUBAAh+QQJBwAAACwEAAAAHAAgAAAG/0CAcEjUZDKXi8VFbDqdGmPSQplYn9hiZqWsViSwSvYZRWKoky8IBBsXjWYXawKTgBSKlpu4vWC8Ei0BCiUlEntPFGofhAkjeohOFYMlIwkCKZFPEimWlwIgmk4gCSgCJw4Jok4lpw4eCKGrQyACrwgqmbNDKB6wCCi7QyMIuAgOwkIpCAvNC8kACgsD1APQCtUi1sklByLe28ICB+QHz8kLDQ3kHskpBPDwqsIDBgT2BAHiBvz87UO2IiXo0KEfgQ9DHJiIgGDPiQIQCXZAJmREjBkRInAYgaUEAQ4QIzbQB8BDjBgZUxZYkGqEAwQGNjDgABKiAQVDPpBIGeGBT0kIQF+8CLFBpkyQBko0UcBgYU+fDyA8EDq0aFEGBHA6CSAiJVQSEEgIJVqUAwKSWBQ0IPGVhNihITgM0Lqn1gGaD0iAHIBCFpYgACH5BAkHADEALAIAAAAeACAAAAb/wJhwSCzGNJqMcck0IjOXC6ZJLT6lFle1+oRiXKwJa7vsRi2USaUCIC8zK6krXZG0Ku7lBa2GtUAgeUwUaxIgHwqBgkYTdocKJRKLRhUBiCUJCpNGAZAJny2bRBIjnwICH6JEJSinAgmqQwoCJw4OArFCH7YevbkxH70Iw78fw8e/KQgqzAi/CQsD0h6/CNLSJ0SKggoHIiIDIiNDIRyTCAfp6QExGzImEc55Ag0H9QfZDybw8LhkIwYICCQgIpWICPAiRHggj4oAAxADGsgWA0SIhA8yFhi3pMSBDhEhithW4oHCjBlJFFDhYMQIBwgMcChQICQBTUQSQDiZEQKJRxcvQmwYymEmzQ4dCKRYooADypQ/gw7dYJTmgVRMAgyA8MAniZ9CpzIoWgABuyrdXjyIGiLs0AILsLoBIUAEzbYgFyTYtiQIACH5BAkHAAAALAAAAQAgAB8AAAb/QIBwSCwaAZqjcqnUZJjQpXN1iVqFGucFg7kys9Oty+JtOjOXi4VCKS/RahdrMnEr45RJBVa3G9d6FRISfkd6MBIgIBWFRSyIIAEfhI1EiQEKJR+Vlh+ZJSWcQxIpJSMJI6JCEqcJKCiqAC2uArWxH7UnukMnBh6FKQ4nDh61LyYxEQyFAh7OCAkeJiYR1Ql2Hwja2ikf1d8Fdg4LCyoqCCAADdTfCGUJA/HxAkIK3w8PJPRWJSLy8ZuEDKiGL98vKCgOKDwg4sA+IQE2RCj4AIKBVEdKLCBAYOGBBemIpAhBkcSLEAYQnBgxolkDAzANEGhwYEDAIiNIQoBAwmSIRw0bGHDgUKBATI4dUyxRUICnyZNAhRYt0AEmAQM2oQQY8KJriJ9Bh0616iBkFAUiNnwFCpRo0Q4IbnoBgWIATKAyVSQweyQIACH5BAkHADEALAAABAAgABwAAAb/wJhwSCwaiRpN5shsFpNLp/QJzVym2Fj1csFkpZkw10L+OldjF4VidmIs6gmA1WZiKCx5BVBn6isSMH1HE4ASLS2DRhOHIAEfBRwcBQWKFQGPHwoRJiYRESODFQqkJSUQn58egy2mI68bqREDgx8JtwkjBJ6fHIMjKAICKCUeng8PoHUgwifCCh/JyA8ddSgO2NggMQfTDxCrXyUIHuUICUIKJN4kKFkKKioI8wjbQgPsIeFOCQP+C/PQDQnAgYRBEi9CGCjBJAWCAyL8DVjgwd6QFCEMvki4YQMBDwJMCXAw4IBJiP8+HBmxYWOIEB0ZSKJkoCaBBg1ODlDQREGHN5cdN8ikVKCmzZwHVKh0EmBB0I6TKHWwSYDAAQEWpSgYwAEq0ak2ESw1AyLBAgIGKFlFMCKrkSAAIfkECQcAMgAsAAAGACAAGgAABv9AmXBILBqPmqNyqUwyn01NBkqVJTXSafWJzV5kjoJge8yYV5c0wRQzhcbkIfqCwVg2kXxkEB/S7RQUEHoRcH0YLoEsE4QRCX1CLosTExV6DxEokDIUABWfEoMPmA6bEzAwEqocEaMPC5sVIC0gtQeuDwWbIB8BHx8gDq4QECN9EgrJKSktHyQQDxAkBn0pIyUj1xIyByQv3y8eZB8J5eUKQgovJN4vG5pUHycC9CgJLUML698bG6VPJTw4OEHwRAoiAQq8CBGi34YGJZR8cIAAgYeLHgTgI5KCQcMNDBhw4HDAgYASJRIIUDFgwIIFFS0GODKCg0ORBXIaMEDggM8/Ay0HqLD4YYkCA/1wFuiwk+dPEUEdzGQSAAEHpUyb9jwgAqgAEFUULMhZQCsBAg24Su0DIgGCtDuBehgBdkkQACH5BAkHADIALAAABwAgABkAAAb/QJlMJSwaj8hkURGZOZTQqOxgMsVMAqlW+ImYIuDGVuv4giOJMVSjIZwjDPWRLWNnOJHHIzKQGzNsGhkZL3l7J35Fg4srEHp6aYkyKxeVlY8PEJGJFxieFhYvehAQiJIYLqAUFAUkjiQLkjIULLW1ByS5Lx2yEwC/ABMnui8hI4kTEhUwzBMfL9AvGwSJEiASLdkTMgMhxRsbT2oSCh8BINdCChsh4Bscm1IgIykK9h8VRSrgDAwcBaaifEiQYMSIEiVAGAlgwN2/AgdKKAmA4oQAAQQTlJBwREGBDf4KiDQgAqO9EQkcIPDgwKIAFAlaJClR4GGBDgYMEDhwQMSAQAELEKxk6UCAQiUKCDzMmXNnz59BhXowKiUAgpFNCTR4+lMoggRHtXxAwJSA1p4+ByBAESDRPAQ/dy5Y4CBhlCAAIfkECQcAJgAsAAAEACAAHAAABv9Ak9CUeA2PyKTyqCDNjMtoFLSJRGJQqXY4sFplpO1W4bU+EmLtIfJ4WBFp6YfEdnfiUke7HUHjlwd7DwV/UQUQDxAQC4VLLySKEAKNSRokl5cjlCYaGpwaL4+hfoUZGZ0aGRuhLyEnlKaxGR2tLxsqlBe6uwMhvhsGlBYYGBfEAiEbyhslhRYUFBYWLhYBDMsMB4UTEyzQ0SYLyxwFr3EAFRUA3CxCChwb5AUdpFoVIBISMDAV7UII8goUMDBJS4sPH0CAaNGiwpEABOR1MGBgQIolIFKMSKEAYQAQAJAoMCBwIsUGCwSMUKAgRQkBAlAkGFGC4weHSUqQNGmgwQFNEQMGLEDgwQFMmSM2Sojy4QBFAlAP/BSqwkPREzETlFgqJYADqFGnCkVA1oFRBVy3fEDQwKfUoEPJehgBohCIEQ4WLDgwgCgKBXWjBAEAIfkECQcAKAAsAAABACAAHwAABv9AlHAoVBCPyGQyIJopn1CUgmMyRaLY4YhkNc1A2aiCFCmXnWEliFN+mAtp5cD9cEcQ8eS4zhfkkyJ8dXh/Rx8kEA8QEAaFSCcQL4sQI45HBySZL3CWRAUvmgudRBsvpiF+o0IhrCEblaoorhu0CbEoHLS0qaoGugyEfxpEGgO0DBwNjhrMKMwCGwwF0yV/GdfMGhkBBRzTBSJ/FxfX10Iq3tMGvFkYGOPjK0XTHQb2sFgUFC4W7u9DHgrYs0fAVpQJACaw2OcCA5EADQYaIHAAgZEkFSRIqFBhgkIKSBQQmDjxgIgBCEakCADiwwcFClhq5DgBJJIUDQgQaHDgwIBPBSoQODghIMGIEgo+gGghAcaEJx8GUDQ54CcCDw4EFFWZFISEp1BAOOjp06pQokaPKmhRIcwHByJOLkBAN+vWDzD+gCghACtdrSUCSIASBAAh+QQFBwAzACwAAAAAHwAgAAAG/8CZcEgECU7EpHJJVDQiJhlzugwMIlhThMoVKjjYcGzQnY5C2EfYZCgvFaGHXI1lHNxJUGEujxRGeEoLEBAPhRAIgUoKLySEECQCikoDjSSOHpNJHyEvjS9tmkQCnZ4vgKJDIiGsIR2pRAYbsxuJsEIctBuStzMMswwMqLe/DBwcCb0zBcfMvLcEBdIFmb0L0wV3vQIFHR0GBiW9Ad/gBguTGkoI5gQEyXgZGupEHwQG7g0H4mUrGfLq5glxgI/AgQMD4FHBcMEfQHozQAwgoA/hAAcfmFCg4ILhhX8Zkig4eHDAAhUIUCgIIEECjAowAEygYMHjRyUpBogQYXKBB04HJ1CMKPEBRIsKMjnWvMAkgAqeA1A6ECAgQQkFRSVUmDCzIxUjJhEg+Fl16MoWWiuwcFEmgACxCKYKLZFCgVG1ikAoSCAARdWrICRQCQIAOw==') no-repeat; + } + + .lb-nav { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 10; + } + + .lb-container > .nav { + left: 0; + } + + .lb-nav a { + outline: none; + background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='); + } + + .lb-prev, .lb-next { + height: 100%; + cursor: pointer; + display: block; + } + + .lb-nav a.lb-prev { + width: 34%; + left: 0; + float: left; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAtCAYAAADsvzj/AAAFF0lEQVR4Ac2ZW0xcVRSGPTNnhlPKcCsUAeeChkEVxhutDQwzMANaqamNWgpaH+yDIaZp1cRHbgH0gTsxkmDCI/hiRAqgD5qYRgKQ8II6TE00wfgGAcIdKeM/ydrNZIezxxg9m518gRxWmn6s9a9zhvNQJBL5T/gfjokwA5Uw0zWFeHBOugiTsAArfSWZky+iABVowAZSwRkiDSTRz1iHlJMmogATsIDTIAPYgRs8SeTTtXSQSLVKFNkivIQKksDDJFCsquqLmqZdAa/i+yCuPQ1cJHOKjdpJEWGdsIFs8BQoy83NvTEzMzO3t7f318HBweHc3Nxdj8dznWQeIWmpIryENUaiCPgdDsfN+fn5XyLcWV5eDlmt1gBqHgOpbAHIFmESySAHeECF0+m8hd/+vcgxZ3d39wBj9grqCkA6iaiyRBRunJhEpcvl+nBhYeG3iM7Z2dnZgkg1ZSgNqLI6wgebSVTZ7faPlpaW/tSTWF9f36ivr+9AbQkF3iZRhAs2dSInJ+eDUCj0h0Biq7S09BPUBkEhyAKJssKusE6QRCGoQLDfn56eDulJrK6ubgeDwS7UXgTPAztIkXUfUbhxKgLlyMRtBPtXPYm1tbXdqqoqJnEOOGhbJQCTkSJ8sJlEMNoJrFhdicPDw6PKyspe1FaD85yE2YBnLUGwSSIrK+s2bnZLehIbGxubfr+/B7WXSMJJ42QlCcVAES7YJJGdnR0dp7BgnLZKSko6qBPngIvrBEkYIKIT7PLoOKET4TjB7kbty+A8SaRxmcAxQEQn2BUI9q3Z2dl7gk7sINhRiZeoE87jMmGECB/s3JhgR8dJV2Jzc3Pb5/N1UieKKdgsEyaAY5wIk2Dj5GHBRifCgmBHb3adLBNsO3HBNkxEAWZwCmSCx4EPwb4ZJ9jbCHYXSRQDpyDYhomoNFIOUIRMvINO/KQnsbKyshMIBD5D7RVwgQWblzBahD2Sp5jN5jzM+9uLi4s/60mEw+FNbKcvUH8DVIECcAZoXLCliaRaLBbX8PBwb0RwRkZGfkftx+BdUM4+KInDbdxoWUCKoih5CQkJgYGBgS/xs6PjRPb394+ampp+RP174CIoBGcpYypQZIqYY+4dz4DLvb29Y6LONDY2fou6OuAF+SCDZCgj8kQSQDqNihfU9vX1TYlkGhoa7qDuDVBKMpQVrjMG30fYCs6gAHuRmdqurq5JkUxLS8sEaq+CMq4zJGOgCB2Fk8kHJSaTqaazs3Pi2MzQaWtrm0RtDfDFyCQyGUNFOJlEkMlkwLWenp5vRDKtra1TNGYsM5mcjKEifGeYjBfUQUaYmebm5omYzLjFC8C4zyNqTGfcNDZ1/2ABjKHudZLXkTFARJAZN/CqqnqNMqN7Ojo6vqMF4ONkVFmvFUQLQNiZ7u7u76PZAn6S4TJjrIhoAdT+iwXAdQYYKCJaAG/iPhNvAYyj7jXwAngUpAGrDBF+ATCZAuBXFOX60NDQ3TiPM1/hyfoyPf7kgNNSXyvwmSGZMk3T3hocHPwhzlPzJLLFnpZT5PztV5wZNyilbTZFmTnZrxU4GZWXATV4ap4kmeNELlEticjsSHyZq/39/V/j374P2Lk/Pj5+BznxUuDlj1acJ4B8cAH/4er29vbPR0dH58fGxubx/ac2my1Ab3iz5Yc9/gJIB05QCJ4Fz9FXD3gC5HIfi+WKCGQ0GpuzwA7yCDtdS+b/SCFfRPwaQqPxSSaS6JrlwUjR+RtEvCM0ct4sLQAAAABJRU5ErkJggg==') left 48% no-repeat; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); + opacity: 0; + -webkit-transition: opacity 0.6s; + -moz-transition: opacity 0.6s; + -o-transition: opacity 0.6s; + transition: opacity 0.6s; + } + + .lb-nav a.lb-prev:hover { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; + } + + .lb-nav a.lb-next { + width: 64%; + right: 0; + float: right; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAtCAYAAADsvzj/AAAFDUlEQVR4Ac2ZS0xcVRjHvTN3hisw0GIRZ3AeLWHQWqdVsRqgA86AUmpqoy20Whd2YYhprJq45BVAF7yJkQQTluDGiEhBF5qYRsIjYYMKQxNNMO4gQHgjZfxP8pF8ufEe0qQ5pyf5BTKcWfzyff/vnHt5xLQ0wgbsQCfswEY80BWPxx8I5sUlHMBJP0nm4RfRWAUMkAqOgseII8AFDNqjPYwiGuEAySADeEEuOEkE6bNjIIX22riQchHWSo+SRACc1nU9ahjGG+ASfn8Vn+WT0BNUMV0so04kFTwJTodCoeuTk5N3dnd397a3t/8dHx+fzM7OvoG/nQPPADdwscqoF2HBPgJynE5nZGFhYTZuWlNTU3/4fL6b2FMMnmUyTpJRLqKTSAbIQyu9vrW1tRv/n4Uqzfv9/g+x7xUQAh6QxmVUV0SnKRWESMXm5uZ63GJNT0//GQgEPsHeUibD20xTLeKioBdUV1e3rKysrFrJzM3N/eP1ej/F3jImIxgAcsOeDLLAKRAtLCz8HDKWlZmdnf3b4/F8zCojGADyz5F04AUvgPJoNNq2tLS0YSUzNjY2iwHwEWXmFHCzymiqRGwgiaaXD7wIysvKytqWl5e3rGQwAO4iM7ewt4SmmYfLqLpr2U0yZ0FFaWlp597e3r6VDEbzXapMlGQEA0COiEYyTmozP8lcKC4u7lhdXV2zksGhOZeVlXWLy5gHgDwRJsMqE6A2qygoKGhBm60L2izmdruZjGkAyBShxTNzlGTOgvMYAO2iAYDKxKjNSgQDQI6IRWb8VJnXMADaUZlNK5mJiYl5DAC6AQgGgCwRWjaWGR/IB+fD4XDr2trahqDN5lEZ3mbZ5gEgW4QPAD6aK3BotmIArAsqE2MDIMTajGTkinAZ3mb5NAAS58zGIQPgJvaGwVMgk5597ECTLcJl+AB4GVyKRCJfLi4uijLzGzLzHrWYj1pMVyXCB4BBz/J5oAzcwDT7OhaLWZ4zMzMzvyNX79rt9uOUNyewqRSxsbzk0Jh9H3w2MDDwV1yw+vv7Ox0OR4C+q1REAzr1+ON0TpSDD+rq6n7d2dmxusbs9/T0fJOUlBTRNO2gIg6lGSGJYyAXFIFrtbW1P4oq0dnZOYR9F8EZdqaoCDtVgrJBEoXgck1Nzfciia6urlHsu0rSOSADJEkXYRK8EufAlYaGhtsiiba2thFk4kAij75Po1fiOcIkkplEGFQ2NTWNCBz2W1tbb9tstkrsLaDvcQlN5hWFS2SyTFxubGwcFUl0dHT8gH1VTCITJHMJWSLmYAcPMlFfXy9sJ0gkMnGNpEnCXAkJIhYSReAtBHvosGCTRBgEWSV0qc8jPNhMIgyutLS0/CSSSGRC1/Uqkg5aZUKGiDkTQVAMqtrb238+RGJUHGyZb1F4Je4/2FfFwZYr4qRb7QnwEngTwR4+5JxIZOJtcbDlv2lMAR5wBjfUi7h2fCuS6Ovru6Np2nVqvzwmQcFW9+43HeSg10twix0RSfT29v5iGMY7dMLniTOh+N8KghN7lKZTIQgKMiG/IkwkCJELFiL7uMWOYE+lWUL8elRNa51APoqGh4cTN9p7TOJed3f3d4nz5P4l1ITdDU66XK5Ic3PzF0NDQ1ODg4NT+P0rCFbQM3qu4MRWLsIfX7PB0yAEngPP089TwA8yBMFWKmJ+qZBGj7FecJzw0mfpwBBLqBexseAbIBWkESnAEPybQLnIf4JfIzSb+FymAAAAAElFTkSuQmCC') right 48% no-repeat; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); + opacity: 0; + -webkit-transition: opacity 0.6s; + -moz-transition: opacity 0.6s; + -o-transition: opacity 0.6s; + transition: opacity 0.6s; + } + + .lb-nav a.lb-next:hover { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; + } + + .lb-dataContainer { + margin: 0 auto; + padding-top: 10px; + zoom: 1; + width: 100%; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + } + + .lb-dataContainer:after { + content: ""; + display: table; + clear: both; + } + + .lb-data { + padding: 0 4px; + color: #ccc; + } + + .lb-data .lb-details { + max-width: 80%; + float: left; + text-align: left; + line-height: 1.1em; + } + + .lb-data .lb-caption { + font-size: 13px; + font-weight: bold; + line-height: 1em; + } + + .lb-data .lb-caption a { + color: #4ae; + } + + .lb-data .lb-number { + display: block; + clear: left; + padding-bottom: 1em; + font-size: 12px; + color: #999999; + } + + .lb-data .lb-controlContainer { + float: right; + } + + .lb-data .lb-turnContainer { + float: left; + margin-right: 5px; + } + + .lb-data .lb-zoomContainer { + float: right; + margin-right: 5px; + } + + .lb-data .lb-closeContainer { + float: right; + } + + .lb-data .lb-close { + display: block; + float: right; + width: 30px; + height: 30px; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAMAAAC6CgRnAAAAPFBMVEX///8AAAD9/f2CgoKAgIAAAAAAAAAAAABLS0sAAAAAAACqqqqqqqq6urpKSkpISEgAAAC7u7u5ubn////zbsMcAAAAE3RSTlMASv6rqwAWS5YMC7/AyZWVFcrJCYaKfAAAAHhJREFUeF590kkOgCAQRFEaFVGc+/53FYmbz6JqBbyQMFSYuoQuV+iTflnstI7ssLXRvMWRaEMs84e2uVckuZe6knL0hiSPObXhj6ChzoEkIolIIpKIO4joICAIeDd7QGIfCCjOKe9HEk8mnxpIAup/F31RPZP9fAG3IAyBSJe0igAAAABJRU5ErkJggg==') top right no-repeat; + text-align: right; + outline: none; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); + opacity: 0.7; + -webkit-transition: opacity 0.2s; + -moz-transition: opacity 0.2s; + -o-transition: opacity 0.2s; + transition: opacity 0.2s; + } + + .lb-data .lb-turnLeft { + display: block; + float: left; + width: 30px; + height: 30px; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAACIElEQVRIicWWPWsUURSG3xM/4hYpjLIhphJiIYugNloIiRoU/QO20UJrU1gE/EAbRReCGkQQEbFLCi0EG5NKEIKYItFSkBhSmMLIipolj8WeWa/rbrIzmdm8MNy599xznjN37pe0QbKwAlyTdFjSoJkt1Nhyko5L6pe0S1KPmxYkzUmalDRpZqXYWQDLVHQuaNsNPAFKrK2fwCOgNy440nlgK1AEftUE/wJMAM/8mQDma/qUgVvAlrjgK8CboF4C7gAHAKvjZ24r1ozMFNAdB7wSvI8BXTFGLe8+kT4A+WbBkd4DF4Czazr/H2so+ICpVYe9DjjUyzhgj3cp8L+RBPwbGI4L9pjjHmMZ2JMkRiIB3cA3hz9oGdjhdx38A+hoJXhf8NtOS1Jbi9gzkhb9/WgVTGUD6GnktV6ZGZLeebVQBUsalTQHDGYFlzTvZWcIPuhlX4bgz14uSdJmr0xLOqTKEZeVRiR9lfS82gJ0AAPApgzBGyMaHTTAKeBTFhMMuOxr+Go944gbl4DOFKFdwPeGWyZQ8MNgBSikCL7v0DKwN2qPZrXMbBY4ImmHmc2mBZbU7mXRzD42k+kx4OR6qUCOBlemep138vf2MAZsjwHKA/eA60mybAfeBifKzSb9hn1y4ok3fVcLg2wDbgMzwAlva/PJ8gp4CvQH/fcHiZZZ7aqTIJle/tV0YMsBD4HHaa6KEH4ReAG8Bs6kDshafwDkXu6L86KiLgAAAABJRU5ErkJggg==') top right no-repeat; + text-align: right; + outline: none; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); + opacity: 0.7; + -webkit-transition: opacity 0.2s; + -moz-transition: opacity 0.2s; + -o-transition: opacity 0.2s; + transition: opacity 0.2s; + } + + .lb-data .lb-turnRight { + display: block; + float: right; + width: 30px; + height: 30px; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAACGUlEQVRIicWXPWgUQRTH/3OJiSCEgJg7FcEmGLkmNoKCYESLYGNrqaDBSkQri4ARDPgBQRBU8CNgE8TCwkIhIqiVYLAQg5UoOZA0Eg1RE/xZ7DsymZzu7HJ7GVgG5r3/+82+3Z33Vlqj4WIdgQ2SBuzaJqlsphlJNUkvJE065xYC3WZJ9yW9ds6NRO8M6AXuAD9JHz+Ae8B2T3/cbIuxwA7gMrAUBJ8BJoEHdj0HaoHPL+CKxThZX4yBbgHeBHdyFegHVj0ewAG7gGvAvKd7BQxHgYEy8METTwA9UWlK9BXgkaf/kwq21Lz1BGdigabvAY4BQ8BUkP7/gi95fueyQE3/JISlgoEdLL9IE1mhFuM88Dsr+LbZvwGVPOA8O+0CFgw81hKogQ97Gam2glmyeb/Ns865960E1+9yqkgYsDUEb7S5ViD0hKQvwHUf/NXm2aLAkvYqqYa7JandFk9LeiZpvEDwZ5s/FshYPew4Pgh0hoa2lh0cAfiifcdnC4h9CvgEDDYy1o/M70C5gT4vtBuYs9ijjRx2ekXiVhPBfSQldvGfpyLLZfFus8AWdxDYk+ZUBTqaADsCHMgjLAEjJE1bltanC3homVsCNmUFV7yKNQdcANoidH4X8xIopWkaBRllZXvb79n2AePAU+Am0G7rh4Bpy9T6zFAPULVP7Qawzlt/x8rRmxuScUNHSZr5xyRdZfTv0JqOvwtaARgflgIWAAAAAElFTkSuQmCC') top right no-repeat; + text-align: right; + outline: none; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); + opacity: 0.7; + -webkit-transition: opacity 0.2s; + -moz-transition: opacity 0.2s; + -o-transition: opacity 0.2s; + transition: opacity 0.2s; + } + + .lb-data .lb-zoomOut { + display: block; + float: left; + width: 30px; + height: 30px; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAAB7UlEQVRIieXWvWsUURTG4XPjJpgmlSFKRAtTWGjAj0ajiSKKFopg/AtELbQTAiI2IaazEhsLK0XEVisbISD4gY2FlQQixiAYxESiBn0sdoKTQHZ3dte18FR3uO97fufcmbmciH8UqVYhUkT0RER3RMxGxMeU0uJfqQoJJ/EAc5bHDzzGWXQ0E9qPZ/iMGziCXnRgPfZgDFN4i2PNgJ7IOryFdVW0a3EZ3zHSCHQfvuFCQd8hzONcPdAuzGC0sLnsP5UVvb2o8RpeY0094CzHXTwqYmjHLIbrhWZ5tuAX+mo1LL2jzkbAWa4XuFRJ05Zb74iIlymlhUbBETERETsrCUq59YaImM5vYlNEXKkBdCelNJF7fh/lRlaNtkqbDUbF6zjf8YeI2LXMmdJURJyvA9obETOVBPmOX0XE7mZ8XBExGBHPa1KihE843QgRffiJrUVMo3iDUnX1qjnu4WFRUxemMVYndBgLha/MzLw3M18s6DucXUDXC0NzSY7jC26ju4q2E1exmA0I8xhqBL4NT7MCbuIoNuYGgQGM4x0mMZJBmwJP2VBwPysgHwt4gjNLvyCGVsAH64avKKRHeSTabJU5awV8rmnwGgscyJ3QVxz8b+EHWgnf789MPon2VsIHlGfv/pZBc/DWdVopfgMdyEl3/DM14wAAAABJRU5ErkJggg==') top right no-repeat; + text-align: right; + outline: none; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); + opacity: 0.7; + -webkit-transition: opacity 0.2s; + -moz-transition: opacity 0.2s; + -o-transition: opacity 0.2s; + transition: opacity 0.2s; + } + + .lb-data .lb-zoomIn { + display: block; + float: right; + width: 30px; + height: 30px; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAAB+UlEQVRIieXWv29NcRzG8c+XttGlk6aEMOhAQhM/FkpLhDD4kai/QFgYpQliaRobi1gMJoRYmSxNmkhIWVibJkQjQiNaKRpehh7p0bTnntt7XYNnOiff5znv53vvPd/7ifhHSmWNSBHRERHtETEREe9TSjN/pRUSjuMBJv2p73iM02ipJ7QLT/EJ13EQa9CCVdiJQbzGKA7XA3o02+FNrKzgXYEL+Ib+WqC78RVnq8ztxxTOLAXahncYqDo8mz+Rld5SbXAQL7G8wDOCTQXrd/CoGmgzJtBXwQfbC9Y34Cc6i56zLHfdExEtEVG+7QJKKY1GxPOIOFYWvDUiRlJK07WAMw1HxLYiQ1PuenVEjOcXsS4iLi2Qu4gPufvbKaXh3P3bmN3IolpWtFijyh3HOI+hEr7CH1fmuYZ7RZ78jl9ExA60lmparJ6IeFbKiSZ8xMkKvkqvUyd+YGPpmhjAqxoPkLt4WBqahdowjsGqgnP5PkxXfWRm4V1Z+FyVuQPZn8TVqqG5hxzBZ9xCewVvKy5jJvv+p9BbC3wznmQFbuAQ1uYGgW5cwRuMoT+D1gWesqHgflYgr2kM4dTvVxC98+A9S4bPK9JhdiRab5E5ax58sm7wkgW7c5/QF+z7b+F7GwnfY24mH0NzI+HdZmfvroZBc/DG7bRIvwDiiW2v3ei28wAAAABJRU5ErkJggg==') top right no-repeat; + text-align: right; + outline: none; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); + opacity: 0.7; + -webkit-transition: opacity 0.2s; + -moz-transition: opacity 0.2s; + -o-transition: opacity 0.2s; + transition: opacity 0.2s; + } + + .lb-data .lb-close:hover { + cursor: pointer; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; + } + + /* animation */ + @keyframes fadeIn{ + 0% {opacity: 0;} + 100% {opacity: 1;} + } + + @-webkit-keyframes fadeIn{ + 0% {opacity: 0;} + 100% {opacity: 1;} + } + + @keyframes fadeOut{ + 0% {opacity: 1;} + 100% {opacity: 0;} + } + + @-webkit-keyframes fadeOut{ + 0% {opacity: 1;} + 100% {opacity: 0;} + } + + + @keyframes fadeInOverlay{ + 0% {opacity: 0;} + 100% {opacity: 0.8;} + } + + @-webkit-keyframes fadeInOverlay{ + 0% {opacity: 0;} + 100% {opacity: 0.8;} + } + + @keyframes fadeOutOverlay{ + 0% {opacity: 0.8;} + 100% {opacity: 0;} + } + + @-webkit-keyframes fadeOutOverlay{ + 0% {opacity: 0.8;} + 100% {opacity: 0;} + } + + .fadeIn{ + -webkit-animation-name: fadeIn; + animation-name: fadeIn; + } + + .fadeInOverlay{ + -webkit-animation-name: fadeInOverlay; + animation-name: fadeInOverlay; + } + + .fadeOut{ + -webkit-animation-name: fadeOut; + animation-name: fadeOut; + } + + .fadeOutOverlay{ + -webkit-animation-name: fadeOutOverlay; + animation-name: fadeOutOverlay; + } + + .animation{ + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + } + + .transition{ + /* For Safari 3.1 to 6.0 */ + -webkit-transition-property: all; + -webkit-transition-timing-function: ease; + /* Standard syntax */ + transition-property: all; + transition-timing-function: ease; + } + + .lb-image { + -webkit-transition-duration: 0.5s; + -moz-transition-duration: 0.5s; + -o-transition-duration: 0.5s; + transition-duration: 0.5s; + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + -o-transition-property: -o-transform; + transition-property: transform; + } + + /* animation */ \ No newline at end of file diff --git a/src/assets/css/styles.css b/src/assets/css/styles.css new file mode 100644 index 0000000..e41ceb3 --- /dev/null +++ b/src/assets/css/styles.css @@ -0,0 +1,68 @@ +/* aos animation */ +@import 'node_modules/aos/dist/aos.css'; +/* @import "~bootstrap/dist/css/bootstrap.min.css"; */ + + +/* swiper */ +@import 'swiper/css'; +@import 'swiper/css/navigation'; +@import 'swiper/css/pagination'; + +/* lightbox */ +@import './lightbox.css'; + +.lightbox { + height: 100%; +} + +.lightbox .lb-outerContainer { + width: 100% !important; + height: 100% !important; + background: transparent; +} + +.lightbox .lb-container { + width: 100% !important; + height: 100% !important; + display: flex; + align-items: center; + justify-content: center; +} + +.lightbox .lb-outerContainer img { + transform-origin: initial !important; +} +.lightbox .lb-dataContainer { + position: absolute; + top: 10px; + left: 0; + width: 100% !important; + padding: 20px 40px; + z-index: 99; +} +.lightbox .lb-nav a.lb-prev, +.lightbox .lb-nav a.lb-next { + opacity: 1 !important; + width: 50% !important; +} + +.lightbox .lb-nav { + padding: 0px 25px; +} + +.lightbox .lb-data .lb-zoomOut, +.lightbox .lb-data .lb-zoomIn, +.lightbox .lb-data .lb-turnRight, +.lightbox .lb-data .lb-turnLeft, +.lightbox .lb-data .lb-close { + width: 20px !important; + height: 20px !important; + background-size: cover; +} + +.lightbox .lb-data .lb-turnLeft, +.lightbox .lb-data .lb-zoomOut, +.lightbox .lb-turnContainer, +.lightbox .lb-zoomContainer { + margin-right: 10px; +} diff --git a/src/assets/css/tailwind.css b/src/assets/css/tailwind.css new file mode 100644 index 0000000..7e16afe --- /dev/null +++ b/src/assets/css/tailwind.css @@ -0,0 +1,286 @@ +@font-face { + font-family: 'reey'; + src: url('/assets/fonts/reey-regular-webfont.woff2') format('woff2'), url('/assets/fonts/reey-regular-webfont.woff') format('woff'); + font-weight: 400; + font-style: normal; +} + +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer components { + html { + @apply scroll-smooth; + } + .btn { + @apply inline-block rounded-2xl bg-primary py-4 px-7 text-center text-sm font-extrabold uppercase text-black transition hover:scale-105 hover:bg-secondary hover:text-white; + } + .heading { + @apply mb-10 lg:mb-14; + } + .heading h6 { + @apply mb-3 text-lg font-extrabold text-primary sm:mb-4; + } + .heading h4 { + @apply text-2xl font-extrabold text-black dark:text-white sm:text-3xl lg:text-[40px] lg:!leading-[50px]; + } + .portfolio-filter .filter.active button, + .upcoming-party-filter .filter.active button { + @apply bg-secondary text-white; + } + .upcoming-party-filter .filter.active button span { + @apply text-white; + } + .home-filter .filter.active button { + @apply text-secondary; + } + .realestate-filter .filter.active button { + @apply scale-105 bg-primary text-white; + } + + .photography-filter .filter.active button { + @apply bg-secondary text-white; + } + + /* NFT Landing Page CSS */ + .nft-filters li.active button { + @apply bg-black text-white dark:bg-white dark:text-black; + } + .heading-gradiant { + @apply mb-12; + } + .heading-gradiant h4 { + @apply relative z-[1] text-3xl font-black uppercase leading-[50px] text-black before:absolute before:top-5 before:z-[-1] before:h-6 + before:w-[100px] before:bg-primary/20 ltr:pl-0.5 ltr:before:left-0 ltr:before:right-auto rtl:pr-0.5 rtl:before:right-0 rtl:before:left-auto dark:text-white md:text-[40px] md:leading-[60px] md:before:h-[30px]; + } + .heading-gradiant h4 span { + @apply bg-gradient-to-r from-secondary to-primary bg-clip-text text-transparent; + } + .heading-gradiant p { + @apply mt-3 font-bold; + } + /* --------- NFT - END -------- */ + + /* Filter */ + + .project.hidden { + animation: hide 1s ease 0s 1 normal forwards; + transform-origin: center; + } + .project.block { + animation: show 1s ease 0s 1 normal forwards; + transform-origin: center; + } + + @keyframes hide { + 0% { + transform: scale(1); + visibility: visible; + } + 100% { + transform: scale(0); + visibility: hidden; + } + } + @keyframes show { + 0% { + transform: scale(0); + visibility: hidden; + } + 100% { + transform: scale(1); + visibility: visible; + } + } + + .animated { + -webkit-animation-duration: calc(1s); + animation-duration: calc(1s); + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + } + + @-webkit-keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } + } + @keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } + } + .fadeIn { + -webkit-animation-name: fadeIn; + animation-name: fadeIn; + } + .modal-show .modal-popup-container.animated { + -webkit-animation: fadeIn 0.5s; + animation: fadeIn 0.5s; + } + + .accordion .accordion-content { + max-height: 0; + overflow: hidden; + transition: max-height 600ms ease-out; + } + + /* Light - Dark Mode */ + + .dark .light-mode-btn { + @apply block; + } + .dark .dark-mode-btn { + @apply hidden; + } + + /* Header */ + + header .menus { + @apply fixed top-0 z-[52] h-screen w-full max-w-sm gap-9 bg-white transition-all duration-500 ltr:-right-full rtl:-left-full dark:bg-gray-dark lg:static lg:h-auto lg:max-w-none lg:bg-transparent dark:lg:bg-transparent; + } + header .menus > ul { + @apply relative flex flex-col divide-y divide-gray/10 font-bold text-black lg:flex-row lg:items-center lg:gap-11 lg:divide-y-0 lg:p-0 lg:text-white; + } + header .menus > ul li > a { + @apply flex items-center justify-between py-4 px-4 transition hover:text-secondary dark:text-white dark:hover:text-secondary lg:px-0 lg:py-10 hover:lg:scale-110; + } + header .menus > ul li > a.active { + @apply text-secondary lg:scale-110; + } + header .menus .submenu { + @apply invisible z-50 mt-5 hidden grid-cols-1 gap-x-4 rounded-lg py-3 text-sm font-medium text-black opacity-0 transition-all dark:text-white lg:absolute lg:top-full lg:grid lg:min-w-max rtl:lg:translate-x-1/4 ltr:lg:-translate-x-1/4 lg:grid-cols-3 lg:bg-[#F0F4F7] lg:shadow-lg lg:dark:bg-gray-dark rtl:xl:-right-1/2 ltr:xl:-left-1/2 xl:grid-cols-4; + } + .submenu { + @apply group-hover:visible group-hover:mt-0 group-hover:grid group-hover:opacity-100; + } + header .menus .submenu a { + @apply block py-2.5 px-8 transition hover:text-secondary lg:px-5 hover:lg:scale-105; + } + header .menus .submenu a.active { + @apply text-secondary lg:scale-105; + } + + .text-stroke { + -webkit-text-fill-color: transparent; + -webkit-text-stroke-width: 2px; + -webkit-text-stroke-color: #222a36; + } + + /* Creative Agency Page CSS */ + .text-color { + @apply bg-[url(/assets/images/creative/color.png)] bg-clip-text bg-top bg-no-repeat text-transparent; + } +} + +/* responsive menu */ + +header .menus.open-menus { + @apply overflow-y-auto ltr:right-0 rtl:left-0; +} + +/* sticky header */ + +.sticky-header { + @apply bg-black shadow-lg; +} + +/* lightbox */ + +.fancybox__content > .carousel__button.is-close { + @apply rtl:left-0; +} + +/* accordion */ + +.ac.is-active .ac-trigger .trigger-icon { + @apply !border-black !text-black dark:!border-white dark:!text-white; +} + +.ac.is-active .ac-trigger .trigger-icon svg path { + @apply first:hidden; +} +.open-search-bar { + @apply w-full; +} + +/* apex chart */ + +.dark .apexcharts-canvas .apexcharts-tooltip.apexcharts-theme-light, +.dark .apexcharts-canvas .apexcharts-xaxistooltip.apexcharts-theme-light { + box-shadow: none; + @apply border-[#050717cc] bg-[#050717cc] text-white; +} + +.dark .apexcharts-canvas .apexcharts-xaxistooltip-bottom:before, +.dark .apexcharts-canvas .apexcharts-xaxistooltip-bottom:after { + @apply border-b-[#050717cc]; +} + +.dark .apexcharts-canvas .apexcharts-tooltip-series-group.apexcharts-active { + @apply text-white; +} + +.dark .apexcharts-canvas .apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title { + @apply border-[#060818] bg-[#060818]; +} + +.dark .apexcharts-canvas .apexcharts-tooltip.apexcharts-theme-light { + box-shadow: none; +} + +[dir='rtl'] .apexcharts-tooltip-marker { + @apply mr-0 ml-2.5; +} + +/* hotel & resort */ +n .book-form input[type='date']::-webkit-calendar-picker-indicator { + @apply invert; +} + +/* Photography our Team */ + +.our-team .swiper-wrapper { + @apply items-center; +} + +.our-team .swiper-slide img { + @apply h-[390px]; +} + +.our-team .swiper-slide.swiper-slide-prev img, +.our-team .swiper-slide.swiper-slide-next img { + @apply h-[478px]; +} + +.our-team .swiper-slide.swiper-slide-active img { + @apply h-[566px]; +} + +@media screen and (max-width: 1200px) { + .our-team .swiper-slide img { + @apply h-[300px]; + } + + .our-team .swiper-slide.swiper-slide-prev img, + .our-team .swiper-slide.swiper-slide-next img { + @apply h-[400px]; + } + + .our-team .swiper-slide.swiper-slide-active img { + @apply h-[500px]; + } +} + +@media screen and (max-width: 767px) { + .our-team .swiper-slide img { + @apply h-[300px] !important; + } +} diff --git a/src/assets/fonts/reey-regular-webfont.woff b/src/assets/fonts/reey-regular-webfont.woff new file mode 100644 index 0000000..db459f8 Binary files /dev/null and b/src/assets/fonts/reey-regular-webfont.woff differ diff --git a/src/assets/fonts/reey-regular-webfont.woff2 b/src/assets/fonts/reey-regular-webfont.woff2 new file mode 100644 index 0000000..43000a1 Binary files /dev/null and b/src/assets/fonts/reey-regular-webfont.woff2 differ diff --git a/src/assets/images/about-bg.png b/src/assets/images/about-bg.png new file mode 100644 index 0000000..242b4e9 Binary files /dev/null and b/src/assets/images/about-bg.png differ diff --git a/src/assets/images/adobe-xd.png b/src/assets/images/adobe-xd.png new file mode 100644 index 0000000..00f449a Binary files /dev/null and b/src/assets/images/adobe-xd.png differ diff --git a/src/assets/images/application/application_bg.jpg b/src/assets/images/application/application_bg.jpg new file mode 100644 index 0000000..bdda180 Binary files /dev/null and b/src/assets/images/application/application_bg.jpg differ diff --git a/src/assets/images/application/campalgn.png b/src/assets/images/application/campalgn.png new file mode 100644 index 0000000..7422c05 Binary files /dev/null and b/src/assets/images/application/campalgn.png differ diff --git a/src/assets/images/application/features.png b/src/assets/images/application/features.png new file mode 100644 index 0000000..5da3b93 Binary files /dev/null and b/src/assets/images/application/features.png differ diff --git a/src/assets/images/application/label-bg.png b/src/assets/images/application/label-bg.png new file mode 100644 index 0000000..c6e65f6 Binary files /dev/null and b/src/assets/images/application/label-bg.png differ diff --git a/src/assets/images/application/logo1.png b/src/assets/images/application/logo1.png new file mode 100644 index 0000000..2f9838e Binary files /dev/null and b/src/assets/images/application/logo1.png differ diff --git a/src/assets/images/application/logo2.png b/src/assets/images/application/logo2.png new file mode 100644 index 0000000..0de0cf8 Binary files /dev/null and b/src/assets/images/application/logo2.png differ diff --git a/src/assets/images/application/phone.jpg b/src/assets/images/application/phone.jpg new file mode 100644 index 0000000..ea30e6a Binary files /dev/null and b/src/assets/images/application/phone.jpg differ diff --git a/src/assets/images/application/place2.png b/src/assets/images/application/place2.png new file mode 100644 index 0000000..de38fc2 Binary files /dev/null and b/src/assets/images/application/place2.png differ diff --git a/src/assets/images/application/product.png b/src/assets/images/application/product.png new file mode 100644 index 0000000..6bf2ddb Binary files /dev/null and b/src/assets/images/application/product.png differ diff --git a/src/assets/images/application/smartphone.png b/src/assets/images/application/smartphone.png new file mode 100644 index 0000000..67ea049 Binary files /dev/null and b/src/assets/images/application/smartphone.png differ diff --git a/src/assets/images/application/social_media.jpg b/src/assets/images/application/social_media.jpg new file mode 100644 index 0000000..0cb516f Binary files /dev/null and b/src/assets/images/application/social_media.jpg differ diff --git a/src/assets/images/application/text.png b/src/assets/images/application/text.png new file mode 100644 index 0000000..a1db6be Binary files /dev/null and b/src/assets/images/application/text.png differ diff --git a/src/assets/images/award1.png b/src/assets/images/award1.png new file mode 100644 index 0000000..c44422d Binary files /dev/null and b/src/assets/images/award1.png differ diff --git a/src/assets/images/award2.png b/src/assets/images/award2.png new file mode 100644 index 0000000..041e01c Binary files /dev/null and b/src/assets/images/award2.png differ diff --git a/src/assets/images/award3.png b/src/assets/images/award3.png new file mode 100644 index 0000000..51ce67f Binary files /dev/null and b/src/assets/images/award3.png differ diff --git a/src/assets/images/award4.png b/src/assets/images/award4.png new file mode 100644 index 0000000..ecd71c6 Binary files /dev/null and b/src/assets/images/award4.png differ diff --git a/src/assets/images/award5.png b/src/assets/images/award5.png new file mode 100644 index 0000000..fcc3006 Binary files /dev/null and b/src/assets/images/award5.png differ diff --git a/src/assets/images/award6.png b/src/assets/images/award6.png new file mode 100644 index 0000000..0cf917b Binary files /dev/null and b/src/assets/images/award6.png differ diff --git a/src/assets/images/award7.png b/src/assets/images/award7.png new file mode 100644 index 0000000..69f2c7a Binary files /dev/null and b/src/assets/images/award7.png differ diff --git a/src/assets/images/award8.png b/src/assets/images/award8.png new file mode 100644 index 0000000..5a12230 Binary files /dev/null and b/src/assets/images/award8.png differ diff --git a/src/assets/images/banner-lefticon.png b/src/assets/images/banner-lefticon.png new file mode 100644 index 0000000..4f127e1 Binary files /dev/null and b/src/assets/images/banner-lefticon.png differ diff --git a/src/assets/images/banner-rightIcon.png b/src/assets/images/banner-rightIcon.png new file mode 100644 index 0000000..bc21d11 Binary files /dev/null and b/src/assets/images/banner-rightIcon.png differ diff --git a/src/assets/images/blog-detail-1.png b/src/assets/images/blog-detail-1.png new file mode 100644 index 0000000..c72fad7 Binary files /dev/null and b/src/assets/images/blog-detail-1.png differ diff --git a/src/assets/images/blog-detail-2.png b/src/assets/images/blog-detail-2.png new file mode 100644 index 0000000..821670b Binary files /dev/null and b/src/assets/images/blog-detail-2.png differ diff --git a/src/assets/images/blog-detail-3.png b/src/assets/images/blog-detail-3.png new file mode 100644 index 0000000..b430c86 Binary files /dev/null and b/src/assets/images/blog-detail-3.png differ diff --git a/src/assets/images/blog-detail-4.png b/src/assets/images/blog-detail-4.png new file mode 100644 index 0000000..2d5f4b4 Binary files /dev/null and b/src/assets/images/blog-detail-4.png differ diff --git a/src/assets/images/blog-detail-hero.png b/src/assets/images/blog-detail-hero.png new file mode 100644 index 0000000..c4e0f65 Binary files /dev/null and b/src/assets/images/blog-detail-hero.png differ diff --git a/src/assets/images/blog/banner_bg.png b/src/assets/images/blog/banner_bg.png new file mode 100644 index 0000000..60a11a4 Binary files /dev/null and b/src/assets/images/blog/banner_bg.png differ diff --git a/src/assets/images/blog/blog_banner.png b/src/assets/images/blog/blog_banner.png new file mode 100644 index 0000000..175ea4e Binary files /dev/null and b/src/assets/images/blog/blog_banner.png differ diff --git a/src/assets/images/blog/blogs1.jpg b/src/assets/images/blog/blogs1.jpg new file mode 100644 index 0000000..7a0ba5a Binary files /dev/null and b/src/assets/images/blog/blogs1.jpg differ diff --git a/src/assets/images/blog/blogs2.jpg b/src/assets/images/blog/blogs2.jpg new file mode 100644 index 0000000..789d5a1 Binary files /dev/null and b/src/assets/images/blog/blogs2.jpg differ diff --git a/src/assets/images/blog/blogs3.jpg b/src/assets/images/blog/blogs3.jpg new file mode 100644 index 0000000..c4ab1f7 Binary files /dev/null and b/src/assets/images/blog/blogs3.jpg differ diff --git a/src/assets/images/blog/blogs4.jpg b/src/assets/images/blog/blogs4.jpg new file mode 100644 index 0000000..59204bd Binary files /dev/null and b/src/assets/images/blog/blogs4.jpg differ diff --git a/src/assets/images/blog/celebration1.jpg b/src/assets/images/blog/celebration1.jpg new file mode 100644 index 0000000..4291719 Binary files /dev/null and b/src/assets/images/blog/celebration1.jpg differ diff --git a/src/assets/images/blog/celebration2.jpg b/src/assets/images/blog/celebration2.jpg new file mode 100644 index 0000000..d43e36e Binary files /dev/null and b/src/assets/images/blog/celebration2.jpg differ diff --git a/src/assets/images/blog/celebration3.jpg b/src/assets/images/blog/celebration3.jpg new file mode 100644 index 0000000..0e1ef61 Binary files /dev/null and b/src/assets/images/blog/celebration3.jpg differ diff --git a/src/assets/images/blog/featured1.jpg b/src/assets/images/blog/featured1.jpg new file mode 100644 index 0000000..e72109c Binary files /dev/null and b/src/assets/images/blog/featured1.jpg differ diff --git a/src/assets/images/blog/featured2.jpg b/src/assets/images/blog/featured2.jpg new file mode 100644 index 0000000..25694a9 Binary files /dev/null and b/src/assets/images/blog/featured2.jpg differ diff --git a/src/assets/images/blog/newsletter.png b/src/assets/images/blog/newsletter.png new file mode 100644 index 0000000..eac6b37 Binary files /dev/null and b/src/assets/images/blog/newsletter.png differ diff --git a/src/assets/images/blog/newsletter.svg b/src/assets/images/blog/newsletter.svg new file mode 100644 index 0000000..479076c --- /dev/null +++ b/src/assets/images/blog/newsletter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/blog/popular1.jpg b/src/assets/images/blog/popular1.jpg new file mode 100644 index 0000000..359a11a Binary files /dev/null and b/src/assets/images/blog/popular1.jpg differ diff --git a/src/assets/images/blog/popular2.jpg b/src/assets/images/blog/popular2.jpg new file mode 100644 index 0000000..4e86ba6 Binary files /dev/null and b/src/assets/images/blog/popular2.jpg differ diff --git a/src/assets/images/blog/popular3.jpg b/src/assets/images/blog/popular3.jpg new file mode 100644 index 0000000..2e7014d Binary files /dev/null and b/src/assets/images/blog/popular3.jpg differ diff --git a/src/assets/images/blog/popular4.jpg b/src/assets/images/blog/popular4.jpg new file mode 100644 index 0000000..3caa741 Binary files /dev/null and b/src/assets/images/blog/popular4.jpg differ diff --git a/src/assets/images/blog/random1.jpg b/src/assets/images/blog/random1.jpg new file mode 100644 index 0000000..9453886 Binary files /dev/null and b/src/assets/images/blog/random1.jpg differ diff --git a/src/assets/images/blog/random2.jpg b/src/assets/images/blog/random2.jpg new file mode 100644 index 0000000..4e1e812 Binary files /dev/null and b/src/assets/images/blog/random2.jpg differ diff --git a/src/assets/images/blog/recent1.jpg b/src/assets/images/blog/recent1.jpg new file mode 100644 index 0000000..acec9ef Binary files /dev/null and b/src/assets/images/blog/recent1.jpg differ diff --git a/src/assets/images/blog/recent2.jpg b/src/assets/images/blog/recent2.jpg new file mode 100644 index 0000000..d28ce2a Binary files /dev/null and b/src/assets/images/blog/recent2.jpg differ diff --git a/src/assets/images/blog/recent3.jpg b/src/assets/images/blog/recent3.jpg new file mode 100644 index 0000000..7218993 Binary files /dev/null and b/src/assets/images/blog/recent3.jpg differ diff --git a/src/assets/images/blog/recent4.jpg b/src/assets/images/blog/recent4.jpg new file mode 100644 index 0000000..ba8085c Binary files /dev/null and b/src/assets/images/blog/recent4.jpg differ diff --git a/src/assets/images/blog/shaun.png b/src/assets/images/blog/shaun.png new file mode 100644 index 0000000..d7fbcdd Binary files /dev/null and b/src/assets/images/blog/shaun.png differ diff --git a/src/assets/images/blog/stories1.jpg b/src/assets/images/blog/stories1.jpg new file mode 100644 index 0000000..f5b3b23 Binary files /dev/null and b/src/assets/images/blog/stories1.jpg differ diff --git a/src/assets/images/blog/stories2.jpg b/src/assets/images/blog/stories2.jpg new file mode 100644 index 0000000..7be918e Binary files /dev/null and b/src/assets/images/blog/stories2.jpg differ diff --git a/src/assets/images/blog/stories3.jpg b/src/assets/images/blog/stories3.jpg new file mode 100644 index 0000000..47f0afc Binary files /dev/null and b/src/assets/images/blog/stories3.jpg differ diff --git a/src/assets/images/blog/trending1.jpg b/src/assets/images/blog/trending1.jpg new file mode 100644 index 0000000..60168c7 Binary files /dev/null and b/src/assets/images/blog/trending1.jpg differ diff --git a/src/assets/images/blog/trending2.jpg b/src/assets/images/blog/trending2.jpg new file mode 100644 index 0000000..168b3e6 Binary files /dev/null and b/src/assets/images/blog/trending2.jpg differ diff --git a/src/assets/images/blog/trending3.jpg b/src/assets/images/blog/trending3.jpg new file mode 100644 index 0000000..5030ff9 Binary files /dev/null and b/src/assets/images/blog/trending3.jpg differ diff --git a/src/assets/images/blog/trending4.jpg b/src/assets/images/blog/trending4.jpg new file mode 100644 index 0000000..00b23c9 Binary files /dev/null and b/src/assets/images/blog/trending4.jpg differ diff --git a/src/assets/images/blog/trending5.jpg b/src/assets/images/blog/trending5.jpg new file mode 100644 index 0000000..c3765f1 Binary files /dev/null and b/src/assets/images/blog/trending5.jpg differ diff --git a/src/assets/images/blog/videos1.jpg b/src/assets/images/blog/videos1.jpg new file mode 100644 index 0000000..c12fbea Binary files /dev/null and b/src/assets/images/blog/videos1.jpg differ diff --git a/src/assets/images/blog/videos2.jpg b/src/assets/images/blog/videos2.jpg new file mode 100644 index 0000000..9cd3481 Binary files /dev/null and b/src/assets/images/blog/videos2.jpg differ diff --git a/src/assets/images/blog/videos3.jpg b/src/assets/images/blog/videos3.jpg new file mode 100644 index 0000000..eaa4620 Binary files /dev/null and b/src/assets/images/blog/videos3.jpg differ diff --git a/src/assets/images/blog/william1.png b/src/assets/images/blog/william1.png new file mode 100644 index 0000000..757207e Binary files /dev/null and b/src/assets/images/blog/william1.png differ diff --git a/src/assets/images/blog/william2.png b/src/assets/images/blog/william2.png new file mode 100644 index 0000000..e0cdf82 Binary files /dev/null and b/src/assets/images/blog/william2.png differ diff --git a/src/assets/images/blog1.png b/src/assets/images/blog1.png new file mode 100644 index 0000000..1f0770a Binary files /dev/null and b/src/assets/images/blog1.png differ diff --git a/src/assets/images/blog2.png b/src/assets/images/blog2.png new file mode 100644 index 0000000..077de60 Binary files /dev/null and b/src/assets/images/blog2.png differ diff --git a/src/assets/images/blog3.png b/src/assets/images/blog3.png new file mode 100644 index 0000000..f332d6a Binary files /dev/null and b/src/assets/images/blog3.png differ diff --git a/src/assets/images/blue-quote.png b/src/assets/images/blue-quote.png new file mode 100644 index 0000000..b0c85f0 Binary files /dev/null and b/src/assets/images/blue-quote.png differ diff --git a/src/assets/images/box-img.png b/src/assets/images/box-img.png new file mode 100644 index 0000000..98d4650 Binary files /dev/null and b/src/assets/images/box-img.png differ diff --git a/src/assets/images/canada-branch.png b/src/assets/images/canada-branch.png new file mode 100644 index 0000000..45044ee Binary files /dev/null and b/src/assets/images/canada-branch.png differ diff --git a/src/assets/images/cases-1.png b/src/assets/images/cases-1.png new file mode 100644 index 0000000..643c1d0 Binary files /dev/null and b/src/assets/images/cases-1.png differ diff --git a/src/assets/images/cases-2.png b/src/assets/images/cases-2.png new file mode 100644 index 0000000..dd66d1a Binary files /dev/null and b/src/assets/images/cases-2.png differ diff --git a/src/assets/images/cases-3.png b/src/assets/images/cases-3.png new file mode 100644 index 0000000..cb20dc0 Binary files /dev/null and b/src/assets/images/cases-3.png differ diff --git a/src/assets/images/cases-4.png b/src/assets/images/cases-4.png new file mode 100644 index 0000000..711272c Binary files /dev/null and b/src/assets/images/cases-4.png differ diff --git a/src/assets/images/cases-5.png b/src/assets/images/cases-5.png new file mode 100644 index 0000000..a8c6f4d Binary files /dev/null and b/src/assets/images/cases-5.png differ diff --git a/src/assets/images/construction/banner-frame.png b/src/assets/images/construction/banner-frame.png new file mode 100644 index 0000000..d8385a7 Binary files /dev/null and b/src/assets/images/construction/banner-frame.png differ diff --git a/src/assets/images/construction/banner-img.png b/src/assets/images/construction/banner-img.png new file mode 100644 index 0000000..426905d Binary files /dev/null and b/src/assets/images/construction/banner-img.png differ diff --git a/src/assets/images/construction/news1.jpg b/src/assets/images/construction/news1.jpg new file mode 100644 index 0000000..097ee1a Binary files /dev/null and b/src/assets/images/construction/news1.jpg differ diff --git a/src/assets/images/construction/news2.jpg b/src/assets/images/construction/news2.jpg new file mode 100644 index 0000000..1be734b Binary files /dev/null and b/src/assets/images/construction/news2.jpg differ diff --git a/src/assets/images/construction/news3.jpg b/src/assets/images/construction/news3.jpg new file mode 100644 index 0000000..6227bfa Binary files /dev/null and b/src/assets/images/construction/news3.jpg differ diff --git a/src/assets/images/construction/project1.jpg b/src/assets/images/construction/project1.jpg new file mode 100644 index 0000000..cc5eb02 Binary files /dev/null and b/src/assets/images/construction/project1.jpg differ diff --git a/src/assets/images/construction/project2.jpg b/src/assets/images/construction/project2.jpg new file mode 100644 index 0000000..a7e4499 Binary files /dev/null and b/src/assets/images/construction/project2.jpg differ diff --git a/src/assets/images/construction/project3.jpg b/src/assets/images/construction/project3.jpg new file mode 100644 index 0000000..525fb8b Binary files /dev/null and b/src/assets/images/construction/project3.jpg differ diff --git a/src/assets/images/construction/project4.jpg b/src/assets/images/construction/project4.jpg new file mode 100644 index 0000000..5f45028 Binary files /dev/null and b/src/assets/images/construction/project4.jpg differ diff --git a/src/assets/images/construction/project5.jpg b/src/assets/images/construction/project5.jpg new file mode 100644 index 0000000..1e0c472 Binary files /dev/null and b/src/assets/images/construction/project5.jpg differ diff --git a/src/assets/images/construction/project6.jpg b/src/assets/images/construction/project6.jpg new file mode 100644 index 0000000..75b2156 Binary files /dev/null and b/src/assets/images/construction/project6.jpg differ diff --git a/src/assets/images/construction/project7.jpg b/src/assets/images/construction/project7.jpg new file mode 100644 index 0000000..35486c0 Binary files /dev/null and b/src/assets/images/construction/project7.jpg differ diff --git a/src/assets/images/construction/project8.jpg b/src/assets/images/construction/project8.jpg new file mode 100644 index 0000000..1be07bb Binary files /dev/null and b/src/assets/images/construction/project8.jpg differ diff --git a/src/assets/images/construction/services-bg-img.png b/src/assets/images/construction/services-bg-img.png new file mode 100644 index 0000000..e7a6046 Binary files /dev/null and b/src/assets/images/construction/services-bg-img.png differ diff --git a/src/assets/images/construction/team1.jpg b/src/assets/images/construction/team1.jpg new file mode 100644 index 0000000..cc3b70d Binary files /dev/null and b/src/assets/images/construction/team1.jpg differ diff --git a/src/assets/images/construction/team2.jpg b/src/assets/images/construction/team2.jpg new file mode 100644 index 0000000..94f89ed Binary files /dev/null and b/src/assets/images/construction/team2.jpg differ diff --git a/src/assets/images/construction/team3.jpg b/src/assets/images/construction/team3.jpg new file mode 100644 index 0000000..b93676f Binary files /dev/null and b/src/assets/images/construction/team3.jpg differ diff --git a/src/assets/images/construction/team4.jpg b/src/assets/images/construction/team4.jpg new file mode 100644 index 0000000..2e211cf Binary files /dev/null and b/src/assets/images/construction/team4.jpg differ diff --git a/src/assets/images/consulting/about-icon1.svg b/src/assets/images/consulting/about-icon1.svg new file mode 100644 index 0000000..4a435d2 --- /dev/null +++ b/src/assets/images/consulting/about-icon1.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/assets/images/consulting/about-icon2.svg b/src/assets/images/consulting/about-icon2.svg new file mode 100644 index 0000000..8759992 --- /dev/null +++ b/src/assets/images/consulting/about-icon2.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/assets/images/consulting/about-icon3.svg b/src/assets/images/consulting/about-icon3.svg new file mode 100644 index 0000000..5ac242d --- /dev/null +++ b/src/assets/images/consulting/about-icon3.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/consulting/about-img.png b/src/assets/images/consulting/about-img.png new file mode 100644 index 0000000..c68e151 Binary files /dev/null and b/src/assets/images/consulting/about-img.png differ diff --git a/src/assets/images/consulting/banner-bg.jpg b/src/assets/images/consulting/banner-bg.jpg new file mode 100644 index 0000000..78427b0 Binary files /dev/null and b/src/assets/images/consulting/banner-bg.jpg differ diff --git a/src/assets/images/consulting/banner-icon1.svg b/src/assets/images/consulting/banner-icon1.svg new file mode 100644 index 0000000..2c0553a --- /dev/null +++ b/src/assets/images/consulting/banner-icon1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/consulting/banner-icon2.svg b/src/assets/images/consulting/banner-icon2.svg new file mode 100644 index 0000000..78bf807 --- /dev/null +++ b/src/assets/images/consulting/banner-icon2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/consulting/banner-icon3.svg b/src/assets/images/consulting/banner-icon3.svg new file mode 100644 index 0000000..0313305 --- /dev/null +++ b/src/assets/images/consulting/banner-icon3.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/consulting/banner-img.png b/src/assets/images/consulting/banner-img.png new file mode 100644 index 0000000..9c93f66 Binary files /dev/null and b/src/assets/images/consulting/banner-img.png differ diff --git a/src/assets/images/consulting/bg-icon.svg b/src/assets/images/consulting/bg-icon.svg new file mode 100644 index 0000000..57aff66 --- /dev/null +++ b/src/assets/images/consulting/bg-icon.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/images/consulting/business-img.png b/src/assets/images/consulting/business-img.png new file mode 100644 index 0000000..3f4ef81 Binary files /dev/null and b/src/assets/images/consulting/business-img.png differ diff --git a/src/assets/images/consulting/checked.svg b/src/assets/images/consulting/checked.svg new file mode 100644 index 0000000..3b789a8 --- /dev/null +++ b/src/assets/images/consulting/checked.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/consulting/close.svg b/src/assets/images/consulting/close.svg new file mode 100644 index 0000000..dc7aaaa --- /dev/null +++ b/src/assets/images/consulting/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/consulting/knowledge1.jpg b/src/assets/images/consulting/knowledge1.jpg new file mode 100644 index 0000000..99d4001 Binary files /dev/null and b/src/assets/images/consulting/knowledge1.jpg differ diff --git a/src/assets/images/consulting/knowledge2.jpg b/src/assets/images/consulting/knowledge2.jpg new file mode 100644 index 0000000..76321c0 Binary files /dev/null and b/src/assets/images/consulting/knowledge2.jpg differ diff --git a/src/assets/images/consulting/knowledge3.jpg b/src/assets/images/consulting/knowledge3.jpg new file mode 100644 index 0000000..ccbf161 Binary files /dev/null and b/src/assets/images/consulting/knowledge3.jpg differ diff --git a/src/assets/images/consulting/question-img.png b/src/assets/images/consulting/question-img.png new file mode 100644 index 0000000..8464e24 Binary files /dev/null and b/src/assets/images/consulting/question-img.png differ diff --git a/src/assets/images/consulting/services-icon1.svg b/src/assets/images/consulting/services-icon1.svg new file mode 100644 index 0000000..31b3e7e --- /dev/null +++ b/src/assets/images/consulting/services-icon1.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/images/consulting/services-icon2.svg b/src/assets/images/consulting/services-icon2.svg new file mode 100644 index 0000000..1eefa15 --- /dev/null +++ b/src/assets/images/consulting/services-icon2.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/consulting/services-icon3.svg b/src/assets/images/consulting/services-icon3.svg new file mode 100644 index 0000000..1c03d0a --- /dev/null +++ b/src/assets/images/consulting/services-icon3.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/consulting/services1.jpg b/src/assets/images/consulting/services1.jpg new file mode 100644 index 0000000..4d686e8 Binary files /dev/null and b/src/assets/images/consulting/services1.jpg differ diff --git a/src/assets/images/consulting/services2.jpg b/src/assets/images/consulting/services2.jpg new file mode 100644 index 0000000..ec09be6 Binary files /dev/null and b/src/assets/images/consulting/services2.jpg differ diff --git a/src/assets/images/consulting/services3.jpg b/src/assets/images/consulting/services3.jpg new file mode 100644 index 0000000..a169848 Binary files /dev/null and b/src/assets/images/consulting/services3.jpg differ diff --git a/src/assets/images/contact-text.png b/src/assets/images/contact-text.png new file mode 100644 index 0000000..6051105 Binary files /dev/null and b/src/assets/images/contact-text.png differ diff --git a/src/assets/images/creative-agency.png b/src/assets/images/creative-agency.png new file mode 100644 index 0000000..4bf85ea Binary files /dev/null and b/src/assets/images/creative-agency.png differ diff --git a/src/assets/images/creative/Line.png b/src/assets/images/creative/Line.png new file mode 100644 index 0000000..3f02d9b Binary files /dev/null and b/src/assets/images/creative/Line.png differ diff --git a/src/assets/images/creative/about-img1.png b/src/assets/images/creative/about-img1.png new file mode 100644 index 0000000..ca372e9 Binary files /dev/null and b/src/assets/images/creative/about-img1.png differ diff --git a/src/assets/images/creative/avatar-1.svg b/src/assets/images/creative/avatar-1.svg new file mode 100644 index 0000000..37e486f --- /dev/null +++ b/src/assets/images/creative/avatar-1.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/creative/avatar-2.svg b/src/assets/images/creative/avatar-2.svg new file mode 100644 index 0000000..b1afe4a --- /dev/null +++ b/src/assets/images/creative/avatar-2.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/creative/avatar-3.svg b/src/assets/images/creative/avatar-3.svg new file mode 100644 index 0000000..4b6c795 --- /dev/null +++ b/src/assets/images/creative/avatar-3.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/creative/banner-img.png b/src/assets/images/creative/banner-img.png new file mode 100644 index 0000000..157821c Binary files /dev/null and b/src/assets/images/creative/banner-img.png differ diff --git a/src/assets/images/creative/client-img1.png b/src/assets/images/creative/client-img1.png new file mode 100644 index 0000000..94ed578 Binary files /dev/null and b/src/assets/images/creative/client-img1.png differ diff --git a/src/assets/images/creative/client-img2.png b/src/assets/images/creative/client-img2.png new file mode 100644 index 0000000..8fc1c91 Binary files /dev/null and b/src/assets/images/creative/client-img2.png differ diff --git a/src/assets/images/creative/color.png b/src/assets/images/creative/color.png new file mode 100644 index 0000000..4849b91 Binary files /dev/null and b/src/assets/images/creative/color.png differ diff --git a/src/assets/images/creative/numbers.png b/src/assets/images/creative/numbers.png new file mode 100644 index 0000000..7828eb5 Binary files /dev/null and b/src/assets/images/creative/numbers.png differ diff --git a/src/assets/images/creative/team-img1.png b/src/assets/images/creative/team-img1.png new file mode 100644 index 0000000..7343ce8 Binary files /dev/null and b/src/assets/images/creative/team-img1.png differ diff --git a/src/assets/images/creative/team-img2.png b/src/assets/images/creative/team-img2.png new file mode 100644 index 0000000..a915877 Binary files /dev/null and b/src/assets/images/creative/team-img2.png differ diff --git a/src/assets/images/creative/team-img3.png b/src/assets/images/creative/team-img3.png new file mode 100644 index 0000000..daf403a Binary files /dev/null and b/src/assets/images/creative/team-img3.png differ diff --git a/src/assets/images/creative/team-img4.png b/src/assets/images/creative/team-img4.png new file mode 100644 index 0000000..f81aa6c Binary files /dev/null and b/src/assets/images/creative/team-img4.png differ diff --git a/src/assets/images/creative/work1.jpg b/src/assets/images/creative/work1.jpg new file mode 100644 index 0000000..4859f84 Binary files /dev/null and b/src/assets/images/creative/work1.jpg differ diff --git a/src/assets/images/creative/work2.jpg b/src/assets/images/creative/work2.jpg new file mode 100644 index 0000000..6a55633 Binary files /dev/null and b/src/assets/images/creative/work2.jpg differ diff --git a/src/assets/images/creative/work3.jpg b/src/assets/images/creative/work3.jpg new file mode 100644 index 0000000..cb70986 Binary files /dev/null and b/src/assets/images/creative/work3.jpg differ diff --git a/src/assets/images/creative/work4.jpg b/src/assets/images/creative/work4.jpg new file mode 100644 index 0000000..aaeafdb Binary files /dev/null and b/src/assets/images/creative/work4.jpg differ diff --git a/src/assets/images/creative/work5.jpg b/src/assets/images/creative/work5.jpg new file mode 100644 index 0000000..598da76 Binary files /dev/null and b/src/assets/images/creative/work5.jpg differ diff --git a/src/assets/images/creative/work6.jpg b/src/assets/images/creative/work6.jpg new file mode 100644 index 0000000..628d17c Binary files /dev/null and b/src/assets/images/creative/work6.jpg differ diff --git a/src/assets/images/crypto/app.png b/src/assets/images/crypto/app.png new file mode 100644 index 0000000..e5f0f41 Binary files /dev/null and b/src/assets/images/crypto/app.png differ diff --git a/src/assets/images/crypto/background-img.png b/src/assets/images/crypto/background-img.png new file mode 100644 index 0000000..07cde52 Binary files /dev/null and b/src/assets/images/crypto/background-img.png differ diff --git a/src/assets/images/crypto/crypto-about-img.png b/src/assets/images/crypto/crypto-about-img.png new file mode 100644 index 0000000..11d19a9 Binary files /dev/null and b/src/assets/images/crypto/crypto-about-img.png differ diff --git a/src/assets/images/crypto/crypto-banner.png b/src/assets/images/crypto/crypto-banner.png new file mode 100644 index 0000000..8358a73 Binary files /dev/null and b/src/assets/images/crypto/crypto-banner.png differ diff --git a/src/assets/images/crypto/our-partners.png b/src/assets/images/crypto/our-partners.png new file mode 100644 index 0000000..4a30f36 Binary files /dev/null and b/src/assets/images/crypto/our-partners.png differ diff --git a/src/assets/images/event-concert/Light.svg b/src/assets/images/event-concert/Light.svg new file mode 100644 index 0000000..c995007 --- /dev/null +++ b/src/assets/images/event-concert/Light.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/event-concert/about-text.png b/src/assets/images/event-concert/about-text.png new file mode 100644 index 0000000..df27e46 Binary files /dev/null and b/src/assets/images/event-concert/about-text.png differ diff --git a/src/assets/images/event-concert/banner-bg-img.png b/src/assets/images/event-concert/banner-bg-img.png new file mode 100644 index 0000000..0629774 Binary files /dev/null and b/src/assets/images/event-concert/banner-bg-img.png differ diff --git a/src/assets/images/event-concert/banner-text.png b/src/assets/images/event-concert/banner-text.png new file mode 100644 index 0000000..0a7f683 Binary files /dev/null and b/src/assets/images/event-concert/banner-text.png differ diff --git a/src/assets/images/event-concert/buy-tickets-text.png b/src/assets/images/event-concert/buy-tickets-text.png new file mode 100644 index 0000000..c072409 Binary files /dev/null and b/src/assets/images/event-concert/buy-tickets-text.png differ diff --git a/src/assets/images/event-concert/card.svg b/src/assets/images/event-concert/card.svg new file mode 100644 index 0000000..dc70c9b --- /dev/null +++ b/src/assets/images/event-concert/card.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/event-concert/event-ticket.png b/src/assets/images/event-concert/event-ticket.png new file mode 100644 index 0000000..5523b3c Binary files /dev/null and b/src/assets/images/event-concert/event-ticket.png differ diff --git a/src/assets/images/event-concert/gallery1.jpg b/src/assets/images/event-concert/gallery1.jpg new file mode 100644 index 0000000..ca9bc48 Binary files /dev/null and b/src/assets/images/event-concert/gallery1.jpg differ diff --git a/src/assets/images/event-concert/gallery2.jpg b/src/assets/images/event-concert/gallery2.jpg new file mode 100644 index 0000000..515768c Binary files /dev/null and b/src/assets/images/event-concert/gallery2.jpg differ diff --git a/src/assets/images/event-concert/gallery3.jpg b/src/assets/images/event-concert/gallery3.jpg new file mode 100644 index 0000000..3563797 Binary files /dev/null and b/src/assets/images/event-concert/gallery3.jpg differ diff --git a/src/assets/images/event-concert/gallery4.jpg b/src/assets/images/event-concert/gallery4.jpg new file mode 100644 index 0000000..28ac151 Binary files /dev/null and b/src/assets/images/event-concert/gallery4.jpg differ diff --git a/src/assets/images/event-concert/gallery5.jpg b/src/assets/images/event-concert/gallery5.jpg new file mode 100644 index 0000000..6e3995c Binary files /dev/null and b/src/assets/images/event-concert/gallery5.jpg differ diff --git a/src/assets/images/event-concert/gallery6.jpg b/src/assets/images/event-concert/gallery6.jpg new file mode 100644 index 0000000..e564b3d Binary files /dev/null and b/src/assets/images/event-concert/gallery6.jpg differ diff --git a/src/assets/images/event-concert/map-image.jpg b/src/assets/images/event-concert/map-image.jpg new file mode 100644 index 0000000..6d88274 Binary files /dev/null and b/src/assets/images/event-concert/map-image.jpg differ diff --git a/src/assets/images/event-concert/music.png b/src/assets/images/event-concert/music.png new file mode 100644 index 0000000..c019cfa Binary files /dev/null and b/src/assets/images/event-concert/music.png differ diff --git a/src/assets/images/event-concert/number-bg.png b/src/assets/images/event-concert/number-bg.png new file mode 100644 index 0000000..e5d18e5 Binary files /dev/null and b/src/assets/images/event-concert/number-bg.png differ diff --git a/src/assets/images/event-concert/parties1.jpg b/src/assets/images/event-concert/parties1.jpg new file mode 100644 index 0000000..0c40f41 Binary files /dev/null and b/src/assets/images/event-concert/parties1.jpg differ diff --git a/src/assets/images/event-concert/parties2.jpg b/src/assets/images/event-concert/parties2.jpg new file mode 100644 index 0000000..78fab70 Binary files /dev/null and b/src/assets/images/event-concert/parties2.jpg differ diff --git a/src/assets/images/event-concert/party-img.png b/src/assets/images/event-concert/party-img.png new file mode 100644 index 0000000..2c61c18 Binary files /dev/null and b/src/assets/images/event-concert/party-img.png differ diff --git a/src/assets/images/event-concert/party1.jpg b/src/assets/images/event-concert/party1.jpg new file mode 100644 index 0000000..95262f8 Binary files /dev/null and b/src/assets/images/event-concert/party1.jpg differ diff --git a/src/assets/images/event-concert/party2.jpg b/src/assets/images/event-concert/party2.jpg new file mode 100644 index 0000000..47747ca Binary files /dev/null and b/src/assets/images/event-concert/party2.jpg differ diff --git a/src/assets/images/event-concert/party3.jpg b/src/assets/images/event-concert/party3.jpg new file mode 100644 index 0000000..4439039 Binary files /dev/null and b/src/assets/images/event-concert/party3.jpg differ diff --git a/src/assets/images/event-concert/party4.jpg b/src/assets/images/event-concert/party4.jpg new file mode 100644 index 0000000..4605a35 Binary files /dev/null and b/src/assets/images/event-concert/party4.jpg differ diff --git a/src/assets/images/event-concert/party5.jpg b/src/assets/images/event-concert/party5.jpg new file mode 100644 index 0000000..95699e4 Binary files /dev/null and b/src/assets/images/event-concert/party5.jpg differ diff --git a/src/assets/images/event-concert/party6.jpg b/src/assets/images/event-concert/party6.jpg new file mode 100644 index 0000000..a6ac97d Binary files /dev/null and b/src/assets/images/event-concert/party6.jpg differ diff --git a/src/assets/images/event-concert/photogallery.png b/src/assets/images/event-concert/photogallery.png new file mode 100644 index 0000000..479565c Binary files /dev/null and b/src/assets/images/event-concert/photogallery.png differ diff --git a/src/assets/images/event-concert/round-text.png b/src/assets/images/event-concert/round-text.png new file mode 100644 index 0000000..50c48d3 Binary files /dev/null and b/src/assets/images/event-concert/round-text.png differ diff --git a/src/assets/images/event-concert/sponsor-bg.jpg b/src/assets/images/event-concert/sponsor-bg.jpg new file mode 100644 index 0000000..cda86a6 Binary files /dev/null and b/src/assets/images/event-concert/sponsor-bg.jpg differ diff --git a/src/assets/images/event-concert/sponsor1.png b/src/assets/images/event-concert/sponsor1.png new file mode 100644 index 0000000..4266fa4 Binary files /dev/null and b/src/assets/images/event-concert/sponsor1.png differ diff --git a/src/assets/images/event-concert/sponsor10.png b/src/assets/images/event-concert/sponsor10.png new file mode 100644 index 0000000..4cf4304 Binary files /dev/null and b/src/assets/images/event-concert/sponsor10.png differ diff --git a/src/assets/images/event-concert/sponsor11.png b/src/assets/images/event-concert/sponsor11.png new file mode 100644 index 0000000..dd43ed5 Binary files /dev/null and b/src/assets/images/event-concert/sponsor11.png differ diff --git a/src/assets/images/event-concert/sponsor12.png b/src/assets/images/event-concert/sponsor12.png new file mode 100644 index 0000000..c3338fd Binary files /dev/null and b/src/assets/images/event-concert/sponsor12.png differ diff --git a/src/assets/images/event-concert/sponsor2.png b/src/assets/images/event-concert/sponsor2.png new file mode 100644 index 0000000..069d295 Binary files /dev/null and b/src/assets/images/event-concert/sponsor2.png differ diff --git a/src/assets/images/event-concert/sponsor3.png b/src/assets/images/event-concert/sponsor3.png new file mode 100644 index 0000000..04cbb10 Binary files /dev/null and b/src/assets/images/event-concert/sponsor3.png differ diff --git a/src/assets/images/event-concert/sponsor4.png b/src/assets/images/event-concert/sponsor4.png new file mode 100644 index 0000000..2f9de4d Binary files /dev/null and b/src/assets/images/event-concert/sponsor4.png differ diff --git a/src/assets/images/event-concert/sponsor5.png b/src/assets/images/event-concert/sponsor5.png new file mode 100644 index 0000000..c58cbfc Binary files /dev/null and b/src/assets/images/event-concert/sponsor5.png differ diff --git a/src/assets/images/event-concert/sponsor6.png b/src/assets/images/event-concert/sponsor6.png new file mode 100644 index 0000000..63589e9 Binary files /dev/null and b/src/assets/images/event-concert/sponsor6.png differ diff --git a/src/assets/images/event-concert/sponsor7.png b/src/assets/images/event-concert/sponsor7.png new file mode 100644 index 0000000..1cc0dd6 Binary files /dev/null and b/src/assets/images/event-concert/sponsor7.png differ diff --git a/src/assets/images/event-concert/sponsor8.png b/src/assets/images/event-concert/sponsor8.png new file mode 100644 index 0000000..d2a8f95 Binary files /dev/null and b/src/assets/images/event-concert/sponsor8.png differ diff --git a/src/assets/images/event-concert/sponsor9.png b/src/assets/images/event-concert/sponsor9.png new file mode 100644 index 0000000..7cfef88 Binary files /dev/null and b/src/assets/images/event-concert/sponsor9.png differ diff --git a/src/assets/images/event-concert/sponsors-text.png b/src/assets/images/event-concert/sponsors-text.png new file mode 100644 index 0000000..3e614e9 Binary files /dev/null and b/src/assets/images/event-concert/sponsors-text.png differ diff --git a/src/assets/images/event-concert/ticket.png b/src/assets/images/event-concert/ticket.png new file mode 100644 index 0000000..284d0d0 Binary files /dev/null and b/src/assets/images/event-concert/ticket.png differ diff --git a/src/assets/images/event-concert/upcoming-text.png b/src/assets/images/event-concert/upcoming-text.png new file mode 100644 index 0000000..0990c2e Binary files /dev/null and b/src/assets/images/event-concert/upcoming-text.png differ diff --git a/src/assets/images/favicon.png b/src/assets/images/favicon.png new file mode 100644 index 0000000..43581f6 Binary files /dev/null and b/src/assets/images/favicon.png differ diff --git a/src/assets/images/figma.png b/src/assets/images/figma.png new file mode 100644 index 0000000..10f7f8d Binary files /dev/null and b/src/assets/images/figma.png differ diff --git a/src/assets/images/footer-shape-dark.png b/src/assets/images/footer-shape-dark.png new file mode 100644 index 0000000..3bd5427 Binary files /dev/null and b/src/assets/images/footer-shape-dark.png differ diff --git a/src/assets/images/footer-shape.png b/src/assets/images/footer-shape.png new file mode 100644 index 0000000..e8f150c Binary files /dev/null and b/src/assets/images/footer-shape.png differ diff --git a/src/assets/images/form-dark-img.svg b/src/assets/images/form-dark-img.svg new file mode 100644 index 0000000..3c19288 --- /dev/null +++ b/src/assets/images/form-dark-img.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/form-img.png b/src/assets/images/form-img.png new file mode 100644 index 0000000..86620af Binary files /dev/null and b/src/assets/images/form-img.png differ diff --git a/src/assets/images/form-light-img.svg b/src/assets/images/form-light-img.svg new file mode 100644 index 0000000..829a901 --- /dev/null +++ b/src/assets/images/form-light-img.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/gallery-1.png b/src/assets/images/gallery-1.png new file mode 100644 index 0000000..13658da Binary files /dev/null and b/src/assets/images/gallery-1.png differ diff --git a/src/assets/images/gallery-2.png b/src/assets/images/gallery-2.png new file mode 100644 index 0000000..ed4ef39 Binary files /dev/null and b/src/assets/images/gallery-2.png differ diff --git a/src/assets/images/gallery-3.png b/src/assets/images/gallery-3.png new file mode 100644 index 0000000..fb51d33 Binary files /dev/null and b/src/assets/images/gallery-3.png differ diff --git a/src/assets/images/gallery-4.png b/src/assets/images/gallery-4.png new file mode 100644 index 0000000..225f548 Binary files /dev/null and b/src/assets/images/gallery-4.png differ diff --git a/src/assets/images/gallery-5.png b/src/assets/images/gallery-5.png new file mode 100644 index 0000000..5a08e60 Binary files /dev/null and b/src/assets/images/gallery-5.png differ diff --git a/src/assets/images/gym/01.svg b/src/assets/images/gym/01.svg new file mode 100644 index 0000000..307896f --- /dev/null +++ b/src/assets/images/gym/01.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/assets/images/gym/02-image.jpg b/src/assets/images/gym/02-image.jpg new file mode 100644 index 0000000..659dbd0 Binary files /dev/null and b/src/assets/images/gym/02-image.jpg differ diff --git a/src/assets/images/gym/02.svg b/src/assets/images/gym/02.svg new file mode 100644 index 0000000..bc8b579 --- /dev/null +++ b/src/assets/images/gym/02.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/assets/images/gym/03.svg b/src/assets/images/gym/03.svg new file mode 100644 index 0000000..69d071b --- /dev/null +++ b/src/assets/images/gym/03.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/assets/images/gym/04.svg b/src/assets/images/gym/04.svg new file mode 100644 index 0000000..1f652a5 --- /dev/null +++ b/src/assets/images/gym/04.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/assets/images/gym/05.svg b/src/assets/images/gym/05.svg new file mode 100644 index 0000000..f5feb31 --- /dev/null +++ b/src/assets/images/gym/05.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/assets/images/gym/06.svg b/src/assets/images/gym/06.svg new file mode 100644 index 0000000..593bfe6 --- /dev/null +++ b/src/assets/images/gym/06.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/assets/images/gym/07.svg b/src/assets/images/gym/07.svg new file mode 100644 index 0000000..21539be --- /dev/null +++ b/src/assets/images/gym/07.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/assets/images/gym/08.svg b/src/assets/images/gym/08.svg new file mode 100644 index 0000000..b8d9367 --- /dev/null +++ b/src/assets/images/gym/08.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/assets/images/gym/banner-gradiant.svg b/src/assets/images/gym/banner-gradiant.svg new file mode 100644 index 0000000..3c71075 --- /dev/null +++ b/src/assets/images/gym/banner-gradiant.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/assets/images/gym/banner-line.png b/src/assets/images/gym/banner-line.png new file mode 100644 index 0000000..0707402 Binary files /dev/null and b/src/assets/images/gym/banner-line.png differ diff --git a/src/assets/images/gym/bettery-icon.svg b/src/assets/images/gym/bettery-icon.svg new file mode 100644 index 0000000..e0a115f --- /dev/null +++ b/src/assets/images/gym/bettery-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/gym/coach-1.png b/src/assets/images/gym/coach-1.png new file mode 100644 index 0000000..ee3fb4d Binary files /dev/null and b/src/assets/images/gym/coach-1.png differ diff --git a/src/assets/images/gym/coach-2.png b/src/assets/images/gym/coach-2.png new file mode 100644 index 0000000..6b613f0 Binary files /dev/null and b/src/assets/images/gym/coach-2.png differ diff --git a/src/assets/images/gym/coach-3.png b/src/assets/images/gym/coach-3.png new file mode 100644 index 0000000..e0f12e7 Binary files /dev/null and b/src/assets/images/gym/coach-3.png differ diff --git a/src/assets/images/gym/coach-4.png b/src/assets/images/gym/coach-4.png new file mode 100644 index 0000000..14d7ffc Binary files /dev/null and b/src/assets/images/gym/coach-4.png differ diff --git a/src/assets/images/gym/coaches.jpg b/src/assets/images/gym/coaches.jpg new file mode 100644 index 0000000..3f2f542 Binary files /dev/null and b/src/assets/images/gym/coaches.jpg differ diff --git a/src/assets/images/gym/counter-bg.png b/src/assets/images/gym/counter-bg.png new file mode 100644 index 0000000..5476a91 Binary files /dev/null and b/src/assets/images/gym/counter-bg.png differ diff --git a/src/assets/images/gym/customized-icon.svg b/src/assets/images/gym/customized-icon.svg new file mode 100644 index 0000000..0d7bd77 --- /dev/null +++ b/src/assets/images/gym/customized-icon.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/images/gym/evolve-togather.jpg b/src/assets/images/gym/evolve-togather.jpg new file mode 100644 index 0000000..271f435 Binary files /dev/null and b/src/assets/images/gym/evolve-togather.jpg differ diff --git a/src/assets/images/gym/features-bg.png b/src/assets/images/gym/features-bg.png new file mode 100644 index 0000000..2641f0b Binary files /dev/null and b/src/assets/images/gym/features-bg.png differ diff --git a/src/assets/images/gym/fitness-text.svg b/src/assets/images/gym/fitness-text.svg new file mode 100644 index 0000000..c65db6d --- /dev/null +++ b/src/assets/images/gym/fitness-text.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/gym/fitness.jpg b/src/assets/images/gym/fitness.jpg new file mode 100644 index 0000000..158abf7 Binary files /dev/null and b/src/assets/images/gym/fitness.jpg differ diff --git a/src/assets/images/gym/journey.jpg b/src/assets/images/gym/journey.jpg new file mode 100644 index 0000000..e1341ba Binary files /dev/null and b/src/assets/images/gym/journey.jpg differ diff --git a/src/assets/images/gym/man-1.png b/src/assets/images/gym/man-1.png new file mode 100644 index 0000000..188798a Binary files /dev/null and b/src/assets/images/gym/man-1.png differ diff --git a/src/assets/images/gym/man-2.png b/src/assets/images/gym/man-2.png new file mode 100644 index 0000000..011771b Binary files /dev/null and b/src/assets/images/gym/man-2.png differ diff --git a/src/assets/images/gym/news1.jpg b/src/assets/images/gym/news1.jpg new file mode 100644 index 0000000..b9dcae7 Binary files /dev/null and b/src/assets/images/gym/news1.jpg differ diff --git a/src/assets/images/gym/news2.jpg b/src/assets/images/gym/news2.jpg new file mode 100644 index 0000000..e8718cc Binary files /dev/null and b/src/assets/images/gym/news2.jpg differ diff --git a/src/assets/images/gym/news3.jpg b/src/assets/images/gym/news3.jpg new file mode 100644 index 0000000..48089c1 Binary files /dev/null and b/src/assets/images/gym/news3.jpg differ diff --git a/src/assets/images/gym/prices.jpg b/src/assets/images/gym/prices.jpg new file mode 100644 index 0000000..98e6836 Binary files /dev/null and b/src/assets/images/gym/prices.jpg differ diff --git a/src/assets/images/gym/runner-girl.png b/src/assets/images/gym/runner-girl.png new file mode 100644 index 0000000..07fe477 Binary files /dev/null and b/src/assets/images/gym/runner-girl.png differ diff --git a/src/assets/images/gym/service1.jpg b/src/assets/images/gym/service1.jpg new file mode 100644 index 0000000..d4ec7d0 Binary files /dev/null and b/src/assets/images/gym/service1.jpg differ diff --git a/src/assets/images/gym/service2.jpg b/src/assets/images/gym/service2.jpg new file mode 100644 index 0000000..2e99c39 Binary files /dev/null and b/src/assets/images/gym/service2.jpg differ diff --git a/src/assets/images/gym/service3.jpg b/src/assets/images/gym/service3.jpg new file mode 100644 index 0000000..f86c744 Binary files /dev/null and b/src/assets/images/gym/service3.jpg differ diff --git a/src/assets/images/gym/training-icon.svg b/src/assets/images/gym/training-icon.svg new file mode 100644 index 0000000..b12bfaa --- /dev/null +++ b/src/assets/images/gym/training-icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/healthcare/bgimagehelt.svg b/src/assets/images/healthcare/bgimagehelt.svg new file mode 100644 index 0000000..7c2892f --- /dev/null +++ b/src/assets/images/healthcare/bgimagehelt.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/healthcare/doctor-img.png b/src/assets/images/healthcare/doctor-img.png new file mode 100644 index 0000000..7e57b08 Binary files /dev/null and b/src/assets/images/healthcare/doctor-img.png differ diff --git a/src/assets/images/healthcare/get-touchimg.png b/src/assets/images/healthcare/get-touchimg.png new file mode 100644 index 0000000..a5482cc Binary files /dev/null and b/src/assets/images/healthcare/get-touchimg.png differ diff --git a/src/assets/images/healthcare/healthcare-banner.png b/src/assets/images/healthcare/healthcare-banner.png new file mode 100644 index 0000000..56ad488 Binary files /dev/null and b/src/assets/images/healthcare/healthcare-banner.png differ diff --git a/src/assets/images/healthcare/healthcare-img1.png b/src/assets/images/healthcare/healthcare-img1.png new file mode 100644 index 0000000..8565656 Binary files /dev/null and b/src/assets/images/healthcare/healthcare-img1.png differ diff --git a/src/assets/images/healthcare/healthcare-img2.png b/src/assets/images/healthcare/healthcare-img2.png new file mode 100644 index 0000000..7c55bfd Binary files /dev/null and b/src/assets/images/healthcare/healthcare-img2.png differ diff --git a/src/assets/images/healthcare/healthcare-img3.png b/src/assets/images/healthcare/healthcare-img3.png new file mode 100644 index 0000000..b903537 Binary files /dev/null and b/src/assets/images/healthcare/healthcare-img3.png differ diff --git a/src/assets/images/healthcare/healthcare-img4.png b/src/assets/images/healthcare/healthcare-img4.png new file mode 100644 index 0000000..2e5afdb Binary files /dev/null and b/src/assets/images/healthcare/healthcare-img4.png differ diff --git a/src/assets/images/healthcare/shadow.png b/src/assets/images/healthcare/shadow.png new file mode 100644 index 0000000..01ce867 Binary files /dev/null and b/src/assets/images/healthcare/shadow.png differ diff --git a/src/assets/images/home-banner-icon.svg b/src/assets/images/home-banner-icon.svg new file mode 100644 index 0000000..cf7b596 --- /dev/null +++ b/src/assets/images/home-banner-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/hotel-resort/counter-bg.jpg b/src/assets/images/hotel-resort/counter-bg.jpg new file mode 100644 index 0000000..7cc46f5 Binary files /dev/null and b/src/assets/images/hotel-resort/counter-bg.jpg differ diff --git a/src/assets/images/hotel-resort/frame.svg b/src/assets/images/hotel-resort/frame.svg new file mode 100644 index 0000000..1f781c2 --- /dev/null +++ b/src/assets/images/hotel-resort/frame.svg @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/hotel-resort/hotel-banner.jpg b/src/assets/images/hotel-resort/hotel-banner.jpg new file mode 100644 index 0000000..6f4fe9e Binary files /dev/null and b/src/assets/images/hotel-resort/hotel-banner.jpg differ diff --git a/src/assets/images/hotel-resort/news.png b/src/assets/images/hotel-resort/news.png new file mode 100644 index 0000000..af33451 Binary files /dev/null and b/src/assets/images/hotel-resort/news.png differ diff --git a/src/assets/images/hotel-resort/news1.jpg b/src/assets/images/hotel-resort/news1.jpg new file mode 100644 index 0000000..c53b690 Binary files /dev/null and b/src/assets/images/hotel-resort/news1.jpg differ diff --git a/src/assets/images/hotel-resort/news2.jpg b/src/assets/images/hotel-resort/news2.jpg new file mode 100644 index 0000000..049dccf Binary files /dev/null and b/src/assets/images/hotel-resort/news2.jpg differ diff --git a/src/assets/images/hotel-resort/news3.jpg b/src/assets/images/hotel-resort/news3.jpg new file mode 100644 index 0000000..ca4dd6f Binary files /dev/null and b/src/assets/images/hotel-resort/news3.jpg differ diff --git a/src/assets/images/hotel-resort/news4.jpg b/src/assets/images/hotel-resort/news4.jpg new file mode 100644 index 0000000..eb50a17 Binary files /dev/null and b/src/assets/images/hotel-resort/news4.jpg differ diff --git a/src/assets/images/hotel-resort/place1.jpg b/src/assets/images/hotel-resort/place1.jpg new file mode 100644 index 0000000..743589c Binary files /dev/null and b/src/assets/images/hotel-resort/place1.jpg differ diff --git a/src/assets/images/hotel-resort/place2.jpg b/src/assets/images/hotel-resort/place2.jpg new file mode 100644 index 0000000..d2ffb9c Binary files /dev/null and b/src/assets/images/hotel-resort/place2.jpg differ diff --git a/src/assets/images/hotel-resort/place3.jpg b/src/assets/images/hotel-resort/place3.jpg new file mode 100644 index 0000000..689ad80 Binary files /dev/null and b/src/assets/images/hotel-resort/place3.jpg differ diff --git a/src/assets/images/hotel-resort/place4.jpg b/src/assets/images/hotel-resort/place4.jpg new file mode 100644 index 0000000..b6d78de Binary files /dev/null and b/src/assets/images/hotel-resort/place4.jpg differ diff --git a/src/assets/images/hotel-resort/place5.jpg b/src/assets/images/hotel-resort/place5.jpg new file mode 100644 index 0000000..395c9e9 Binary files /dev/null and b/src/assets/images/hotel-resort/place5.jpg differ diff --git a/src/assets/images/hotel-resort/place6.jpg b/src/assets/images/hotel-resort/place6.jpg new file mode 100644 index 0000000..9cc2b6a Binary files /dev/null and b/src/assets/images/hotel-resort/place6.jpg differ diff --git a/src/assets/images/hotel-resort/room1.jpg b/src/assets/images/hotel-resort/room1.jpg new file mode 100644 index 0000000..398d455 Binary files /dev/null and b/src/assets/images/hotel-resort/room1.jpg differ diff --git a/src/assets/images/hotel-resort/room2.jpg b/src/assets/images/hotel-resort/room2.jpg new file mode 100644 index 0000000..5c9fb37 Binary files /dev/null and b/src/assets/images/hotel-resort/room2.jpg differ diff --git a/src/assets/images/hotel-resort/room3.jpg b/src/assets/images/hotel-resort/room3.jpg new file mode 100644 index 0000000..b3f6af4 Binary files /dev/null and b/src/assets/images/hotel-resort/room3.jpg differ diff --git a/src/assets/images/hotel-resort/room4.jpg b/src/assets/images/hotel-resort/room4.jpg new file mode 100644 index 0000000..7ae3a57 Binary files /dev/null and b/src/assets/images/hotel-resort/room4.jpg differ diff --git a/src/assets/images/hotel-resort/room5.jpg b/src/assets/images/hotel-resort/room5.jpg new file mode 100644 index 0000000..efc1199 Binary files /dev/null and b/src/assets/images/hotel-resort/room5.jpg differ diff --git a/src/assets/images/hotel-resort/room6.jpg b/src/assets/images/hotel-resort/room6.jpg new file mode 100644 index 0000000..8f466b0 Binary files /dev/null and b/src/assets/images/hotel-resort/room6.jpg differ diff --git a/src/assets/images/hotel-resort/services1.svg b/src/assets/images/hotel-resort/services1.svg new file mode 100644 index 0000000..fa694cd --- /dev/null +++ b/src/assets/images/hotel-resort/services1.svg @@ -0,0 +1,318 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/hotel-resort/services2.svg b/src/assets/images/hotel-resort/services2.svg new file mode 100644 index 0000000..5c5f017 --- /dev/null +++ b/src/assets/images/hotel-resort/services2.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/hotel-resort/whychooseus.jpg b/src/assets/images/hotel-resort/whychooseus.jpg new file mode 100644 index 0000000..366b3ff Binary files /dev/null and b/src/assets/images/hotel-resort/whychooseus.jpg differ diff --git a/src/assets/images/how-we-do-it_.png b/src/assets/images/how-we-do-it_.png new file mode 100644 index 0000000..8f91110 Binary files /dev/null and b/src/assets/images/how-we-do-it_.png differ diff --git a/src/assets/images/inner-page-hero-bg.png b/src/assets/images/inner-page-hero-bg.png new file mode 100644 index 0000000..55fd23c Binary files /dev/null and b/src/assets/images/inner-page-hero-bg.png differ diff --git a/src/assets/images/insurance/about_img.jpg b/src/assets/images/insurance/about_img.jpg new file mode 100644 index 0000000..b71f392 Binary files /dev/null and b/src/assets/images/insurance/about_img.jpg differ diff --git a/src/assets/images/insurance/banner_img.png b/src/assets/images/insurance/banner_img.png new file mode 100644 index 0000000..f51e3aa Binary files /dev/null and b/src/assets/images/insurance/banner_img.png differ diff --git a/src/assets/images/insurance/banner_line.png b/src/assets/images/insurance/banner_line.png new file mode 100644 index 0000000..1113d51 Binary files /dev/null and b/src/assets/images/insurance/banner_line.png differ diff --git a/src/assets/images/insurance/banner_shap.png b/src/assets/images/insurance/banner_shap.png new file mode 100644 index 0000000..c049dba Binary files /dev/null and b/src/assets/images/insurance/banner_shap.png differ diff --git a/src/assets/images/insurance/blog1.jpg b/src/assets/images/insurance/blog1.jpg new file mode 100644 index 0000000..83b589f Binary files /dev/null and b/src/assets/images/insurance/blog1.jpg differ diff --git a/src/assets/images/insurance/blog2.jpg b/src/assets/images/insurance/blog2.jpg new file mode 100644 index 0000000..d84dee8 Binary files /dev/null and b/src/assets/images/insurance/blog2.jpg differ diff --git a/src/assets/images/insurance/blog3.jpg b/src/assets/images/insurance/blog3.jpg new file mode 100644 index 0000000..2772315 Binary files /dev/null and b/src/assets/images/insurance/blog3.jpg differ diff --git a/src/assets/images/insurance/call-bg.svg b/src/assets/images/insurance/call-bg.svg new file mode 100644 index 0000000..a9a09f0 --- /dev/null +++ b/src/assets/images/insurance/call-bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/insurance/client-1.png b/src/assets/images/insurance/client-1.png new file mode 100644 index 0000000..e79ba18 Binary files /dev/null and b/src/assets/images/insurance/client-1.png differ diff --git a/src/assets/images/insurance/focus-bg.svg b/src/assets/images/insurance/focus-bg.svg new file mode 100644 index 0000000..02b1a17 --- /dev/null +++ b/src/assets/images/insurance/focus-bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/insurance/health-img.png b/src/assets/images/insurance/health-img.png new file mode 100644 index 0000000..9800286 Binary files /dev/null and b/src/assets/images/insurance/health-img.png differ diff --git a/src/assets/images/insurance/icon1.svg b/src/assets/images/insurance/icon1.svg new file mode 100644 index 0000000..2e9ea5f --- /dev/null +++ b/src/assets/images/insurance/icon1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/insurance/icon2.svg b/src/assets/images/insurance/icon2.svg new file mode 100644 index 0000000..2f86c99 --- /dev/null +++ b/src/assets/images/insurance/icon2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/insurance/icon3.svg b/src/assets/images/insurance/icon3.svg new file mode 100644 index 0000000..d0a9fdd --- /dev/null +++ b/src/assets/images/insurance/icon3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/insurance/traval-img.png b/src/assets/images/insurance/traval-img.png new file mode 100644 index 0000000..d21dc28 Binary files /dev/null and b/src/assets/images/insurance/traval-img.png differ diff --git a/src/assets/images/insurance/why-bg.svg b/src/assets/images/insurance/why-bg.svg new file mode 100644 index 0000000..fc1c31a --- /dev/null +++ b/src/assets/images/insurance/why-bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/insurance/why-img1.jpg b/src/assets/images/insurance/why-img1.jpg new file mode 100644 index 0000000..7edf6b2 Binary files /dev/null and b/src/assets/images/insurance/why-img1.jpg differ diff --git a/src/assets/images/insurance/why-small-img.jpg b/src/assets/images/insurance/why-small-img.jpg new file mode 100644 index 0000000..f224bdd Binary files /dev/null and b/src/assets/images/insurance/why-small-img.jpg differ diff --git a/src/assets/images/invision-studio.png b/src/assets/images/invision-studio.png new file mode 100644 index 0000000..4033952 Binary files /dev/null and b/src/assets/images/invision-studio.png differ diff --git a/src/assets/images/job/apple.svg b/src/assets/images/job/apple.svg new file mode 100644 index 0000000..c9b2f0d --- /dev/null +++ b/src/assets/images/job/apple.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/job/bannerimg.png b/src/assets/images/job/bannerimg.png new file mode 100644 index 0000000..1312f1d Binary files /dev/null and b/src/assets/images/job/bannerimg.png differ diff --git a/src/assets/images/job/blog1.jpg b/src/assets/images/job/blog1.jpg new file mode 100644 index 0000000..fe5fdbf Binary files /dev/null and b/src/assets/images/job/blog1.jpg differ diff --git a/src/assets/images/job/blog2.jpg b/src/assets/images/job/blog2.jpg new file mode 100644 index 0000000..696dd8b Binary files /dev/null and b/src/assets/images/job/blog2.jpg differ diff --git a/src/assets/images/job/card1.png b/src/assets/images/job/card1.png new file mode 100644 index 0000000..84533aa Binary files /dev/null and b/src/assets/images/job/card1.png differ diff --git a/src/assets/images/job/card2.png b/src/assets/images/job/card2.png new file mode 100644 index 0000000..84533aa Binary files /dev/null and b/src/assets/images/job/card2.png differ diff --git a/src/assets/images/job/dell.svg b/src/assets/images/job/dell.svg new file mode 100644 index 0000000..e8177b8 --- /dev/null +++ b/src/assets/images/job/dell.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/job/dribbble.svg b/src/assets/images/job/dribbble.svg new file mode 100644 index 0000000..23d4a37 --- /dev/null +++ b/src/assets/images/job/dribbble.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/job/growth1.jpg b/src/assets/images/job/growth1.jpg new file mode 100644 index 0000000..80870d8 Binary files /dev/null and b/src/assets/images/job/growth1.jpg differ diff --git a/src/assets/images/job/growth2.jpg b/src/assets/images/job/growth2.jpg new file mode 100644 index 0000000..271bfd4 Binary files /dev/null and b/src/assets/images/job/growth2.jpg differ diff --git a/src/assets/images/job/growth3.jpg b/src/assets/images/job/growth3.jpg new file mode 100644 index 0000000..d4ebaf1 Binary files /dev/null and b/src/assets/images/job/growth3.jpg differ diff --git a/src/assets/images/job/right-arrow.svg b/src/assets/images/job/right-arrow.svg new file mode 100644 index 0000000..e5415b1 --- /dev/null +++ b/src/assets/images/job/right-arrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/leader-1.png b/src/assets/images/leader-1.png new file mode 100644 index 0000000..c41a96a Binary files /dev/null and b/src/assets/images/leader-1.png differ diff --git a/src/assets/images/leader-10.png b/src/assets/images/leader-10.png new file mode 100644 index 0000000..e3728d0 Binary files /dev/null and b/src/assets/images/leader-10.png differ diff --git a/src/assets/images/leader-11.png b/src/assets/images/leader-11.png new file mode 100644 index 0000000..65fcd3f Binary files /dev/null and b/src/assets/images/leader-11.png differ diff --git a/src/assets/images/leader-12.png b/src/assets/images/leader-12.png new file mode 100644 index 0000000..0afc3dd Binary files /dev/null and b/src/assets/images/leader-12.png differ diff --git a/src/assets/images/leader-2.png b/src/assets/images/leader-2.png new file mode 100644 index 0000000..90e10e2 Binary files /dev/null and b/src/assets/images/leader-2.png differ diff --git a/src/assets/images/leader-3.png b/src/assets/images/leader-3.png new file mode 100644 index 0000000..29b9056 Binary files /dev/null and b/src/assets/images/leader-3.png differ diff --git a/src/assets/images/leader-4.png b/src/assets/images/leader-4.png new file mode 100644 index 0000000..c6a8309 Binary files /dev/null and b/src/assets/images/leader-4.png differ diff --git a/src/assets/images/leader-5.png b/src/assets/images/leader-5.png new file mode 100644 index 0000000..5c2efa8 Binary files /dev/null and b/src/assets/images/leader-5.png differ diff --git a/src/assets/images/leader-6.png b/src/assets/images/leader-6.png new file mode 100644 index 0000000..580901a Binary files /dev/null and b/src/assets/images/leader-6.png differ diff --git a/src/assets/images/leader-7.png b/src/assets/images/leader-7.png new file mode 100644 index 0000000..8cd775a Binary files /dev/null and b/src/assets/images/leader-7.png differ diff --git a/src/assets/images/leader-8.png b/src/assets/images/leader-8.png new file mode 100644 index 0000000..d54794f Binary files /dev/null and b/src/assets/images/leader-8.png differ diff --git a/src/assets/images/leader-9.png b/src/assets/images/leader-9.png new file mode 100644 index 0000000..36580cb Binary files /dev/null and b/src/assets/images/leader-9.png differ diff --git a/src/assets/images/logo-1.svg b/src/assets/images/logo-1.svg new file mode 100644 index 0000000..27cc4b2 --- /dev/null +++ b/src/assets/images/logo-1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/logo-2.svg b/src/assets/images/logo-2.svg new file mode 100644 index 0000000..6e08ea9 --- /dev/null +++ b/src/assets/images/logo-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/logo-3.svg b/src/assets/images/logo-3.svg new file mode 100644 index 0000000..4fbb954 --- /dev/null +++ b/src/assets/images/logo-3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/logo-4.svg b/src/assets/images/logo-4.svg new file mode 100644 index 0000000..4701035 --- /dev/null +++ b/src/assets/images/logo-4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/logo-5.svg b/src/assets/images/logo-5.svg new file mode 100644 index 0000000..217a87b --- /dev/null +++ b/src/assets/images/logo-5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/logo-6.svg b/src/assets/images/logo-6.svg new file mode 100644 index 0000000..9b403ba --- /dev/null +++ b/src/assets/images/logo-6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/logo-7.svg b/src/assets/images/logo-7.svg new file mode 100644 index 0000000..b4b7eb9 --- /dev/null +++ b/src/assets/images/logo-7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png new file mode 100644 index 0000000..2ac3a46 Binary files /dev/null and b/src/assets/images/logo.png differ diff --git a/src/assets/images/marketing/business-owner.jpg b/src/assets/images/marketing/business-owner.jpg new file mode 100644 index 0000000..34c536a Binary files /dev/null and b/src/assets/images/marketing/business-owner.jpg differ diff --git a/src/assets/images/marketing/marketing-banner.png b/src/assets/images/marketing/marketing-banner.png new file mode 100644 index 0000000..4c310ca Binary files /dev/null and b/src/assets/images/marketing/marketing-banner.png differ diff --git a/src/assets/images/marketing/marketing3.png b/src/assets/images/marketing/marketing3.png new file mode 100644 index 0000000..5c8f50f Binary files /dev/null and b/src/assets/images/marketing/marketing3.png differ diff --git a/src/assets/images/marketing/member1.png b/src/assets/images/marketing/member1.png new file mode 100644 index 0000000..a86900d Binary files /dev/null and b/src/assets/images/marketing/member1.png differ diff --git a/src/assets/images/marketing/member2.png b/src/assets/images/marketing/member2.png new file mode 100644 index 0000000..783f432 Binary files /dev/null and b/src/assets/images/marketing/member2.png differ diff --git a/src/assets/images/marketing/member3.png b/src/assets/images/marketing/member3.png new file mode 100644 index 0000000..2a5b4c7 Binary files /dev/null and b/src/assets/images/marketing/member3.png differ diff --git a/src/assets/images/marketing/member4.png b/src/assets/images/marketing/member4.png new file mode 100644 index 0000000..0ecc6b2 Binary files /dev/null and b/src/assets/images/marketing/member4.png differ diff --git a/src/assets/images/marketing/shadow-box.svg b/src/assets/images/marketing/shadow-box.svg new file mode 100644 index 0000000..216820a --- /dev/null +++ b/src/assets/images/marketing/shadow-box.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/marketing/team-shadow.svg b/src/assets/images/marketing/team-shadow.svg new file mode 100644 index 0000000..2f26f20 --- /dev/null +++ b/src/assets/images/marketing/team-shadow.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/assets/images/marketing/team-shadow1.svg b/src/assets/images/marketing/team-shadow1.svg new file mode 100644 index 0000000..1ed3b38 --- /dev/null +++ b/src/assets/images/marketing/team-shadow1.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/assets/images/marketing/work-img.png b/src/assets/images/marketing/work-img.png new file mode 100644 index 0000000..e5d4fd0 Binary files /dev/null and b/src/assets/images/marketing/work-img.png differ diff --git a/src/assets/images/marvel.png b/src/assets/images/marvel.png new file mode 100644 index 0000000..de098ff Binary files /dev/null and b/src/assets/images/marvel.png differ diff --git a/src/assets/images/modern-saas/analysis-icon-dark.svg b/src/assets/images/modern-saas/analysis-icon-dark.svg new file mode 100644 index 0000000..9e34d31 --- /dev/null +++ b/src/assets/images/modern-saas/analysis-icon-dark.svg @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/analysis-icon.svg b/src/assets/images/modern-saas/analysis-icon.svg new file mode 100644 index 0000000..7444308 --- /dev/null +++ b/src/assets/images/modern-saas/analysis-icon.svg @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/banner-bg.png b/src/assets/images/modern-saas/banner-bg.png new file mode 100644 index 0000000..e47b88d Binary files /dev/null and b/src/assets/images/modern-saas/banner-bg.png differ diff --git a/src/assets/images/modern-saas/banner-img.png b/src/assets/images/modern-saas/banner-img.png new file mode 100644 index 0000000..7462e37 Binary files /dev/null and b/src/assets/images/modern-saas/banner-img.png differ diff --git a/src/assets/images/modern-saas/benifits-img.png b/src/assets/images/modern-saas/benifits-img.png new file mode 100644 index 0000000..326403e Binary files /dev/null and b/src/assets/images/modern-saas/benifits-img.png differ diff --git a/src/assets/images/modern-saas/client-1.png b/src/assets/images/modern-saas/client-1.png new file mode 100644 index 0000000..55fed7e Binary files /dev/null and b/src/assets/images/modern-saas/client-1.png differ diff --git a/src/assets/images/modern-saas/design.png b/src/assets/images/modern-saas/design.png new file mode 100644 index 0000000..ca6433a Binary files /dev/null and b/src/assets/images/modern-saas/design.png differ diff --git a/src/assets/images/modern-saas/dollers-icon.svg b/src/assets/images/modern-saas/dollers-icon.svg new file mode 100644 index 0000000..25f9a80 --- /dev/null +++ b/src/assets/images/modern-saas/dollers-icon.svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/email.svg b/src/assets/images/modern-saas/email.svg new file mode 100644 index 0000000..90254a8 --- /dev/null +++ b/src/assets/images/modern-saas/email.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/feature-icon-1.svg b/src/assets/images/modern-saas/feature-icon-1.svg new file mode 100644 index 0000000..20aa1ca --- /dev/null +++ b/src/assets/images/modern-saas/feature-icon-1.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/images/modern-saas/feature-icon-2.svg b/src/assets/images/modern-saas/feature-icon-2.svg new file mode 100644 index 0000000..c6c389b --- /dev/null +++ b/src/assets/images/modern-saas/feature-icon-2.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/images/modern-saas/feature-icon-3.svg b/src/assets/images/modern-saas/feature-icon-3.svg new file mode 100644 index 0000000..6274814 --- /dev/null +++ b/src/assets/images/modern-saas/feature-icon-3.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/modern-saas/feature-icon-4.svg b/src/assets/images/modern-saas/feature-icon-4.svg new file mode 100644 index 0000000..4837d7d --- /dev/null +++ b/src/assets/images/modern-saas/feature-icon-4.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/modern-saas/feature-icon-5.svg b/src/assets/images/modern-saas/feature-icon-5.svg new file mode 100644 index 0000000..c5af17d --- /dev/null +++ b/src/assets/images/modern-saas/feature-icon-5.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/images/modern-saas/feature-icon-6.svg b/src/assets/images/modern-saas/feature-icon-6.svg new file mode 100644 index 0000000..4876879 --- /dev/null +++ b/src/assets/images/modern-saas/feature-icon-6.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/images/modern-saas/icon-1.svg b/src/assets/images/modern-saas/icon-1.svg new file mode 100644 index 0000000..c6c6364 --- /dev/null +++ b/src/assets/images/modern-saas/icon-1.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/icon-2.svg b/src/assets/images/modern-saas/icon-2.svg new file mode 100644 index 0000000..7e3fea5 --- /dev/null +++ b/src/assets/images/modern-saas/icon-2.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/integration-img.png b/src/assets/images/modern-saas/integration-img.png new file mode 100644 index 0000000..50a365d Binary files /dev/null and b/src/assets/images/modern-saas/integration-img.png differ diff --git a/src/assets/images/modern-saas/integration.png b/src/assets/images/modern-saas/integration.png new file mode 100644 index 0000000..0705b79 Binary files /dev/null and b/src/assets/images/modern-saas/integration.png differ diff --git a/src/assets/images/modern-saas/magic-pagebuilder.svg b/src/assets/images/modern-saas/magic-pagebuilder.svg new file mode 100644 index 0000000..fc50145 --- /dev/null +++ b/src/assets/images/modern-saas/magic-pagebuilder.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/marketing.png b/src/assets/images/modern-saas/marketing.png new file mode 100644 index 0000000..21d1dec Binary files /dev/null and b/src/assets/images/modern-saas/marketing.png differ diff --git a/src/assets/images/modern-saas/migrate-modernize.png b/src/assets/images/modern-saas/migrate-modernize.png new file mode 100644 index 0000000..11a264a Binary files /dev/null and b/src/assets/images/modern-saas/migrate-modernize.png differ diff --git a/src/assets/images/modern-saas/modern-design.svg b/src/assets/images/modern-saas/modern-design.svg new file mode 100644 index 0000000..fb46381 --- /dev/null +++ b/src/assets/images/modern-saas/modern-design.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/monitoring-icon.svg b/src/assets/images/modern-saas/monitoring-icon.svg new file mode 100644 index 0000000..d6215d6 --- /dev/null +++ b/src/assets/images/modern-saas/monitoring-icon.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/newsletter.svg b/src/assets/images/modern-saas/newsletter.svg new file mode 100644 index 0000000..da7e9d9 --- /dev/null +++ b/src/assets/images/modern-saas/newsletter.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/oc-target.svg b/src/assets/images/modern-saas/oc-target.svg new file mode 100644 index 0000000..0a5cad2 --- /dev/null +++ b/src/assets/images/modern-saas/oc-target.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/optimization.png b/src/assets/images/modern-saas/optimization.png new file mode 100644 index 0000000..cb86b33 Binary files /dev/null and b/src/assets/images/modern-saas/optimization.png differ diff --git a/src/assets/images/modern-saas/perfomance-design.svg b/src/assets/images/modern-saas/perfomance-design.svg new file mode 100644 index 0000000..31e71eb --- /dev/null +++ b/src/assets/images/modern-saas/perfomance-design.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/perfomance-doller-icon.svg b/src/assets/images/modern-saas/perfomance-doller-icon.svg new file mode 100644 index 0000000..5e95ade --- /dev/null +++ b/src/assets/images/modern-saas/perfomance-doller-icon.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/perfomance-img.png b/src/assets/images/modern-saas/perfomance-img.png new file mode 100644 index 0000000..578395c Binary files /dev/null and b/src/assets/images/modern-saas/perfomance-img.png differ diff --git a/src/assets/images/modern-saas/support-icon.svg b/src/assets/images/modern-saas/support-icon.svg new file mode 100644 index 0000000..3574f61 --- /dev/null +++ b/src/assets/images/modern-saas/support-icon.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/modern-saas/tracking-icon.svg b/src/assets/images/modern-saas/tracking-icon.svg new file mode 100644 index 0000000..5fab4d5 --- /dev/null +++ b/src/assets/images/modern-saas/tracking-icon.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/assets/images/nft/artists1.png b/src/assets/images/nft/artists1.png new file mode 100644 index 0000000..2cb9cc8 Binary files /dev/null and b/src/assets/images/nft/artists1.png differ diff --git a/src/assets/images/nft/artists2.png b/src/assets/images/nft/artists2.png new file mode 100644 index 0000000..59ed340 Binary files /dev/null and b/src/assets/images/nft/artists2.png differ diff --git a/src/assets/images/nft/artists3.png b/src/assets/images/nft/artists3.png new file mode 100644 index 0000000..74fc64c Binary files /dev/null and b/src/assets/images/nft/artists3.png differ diff --git a/src/assets/images/nft/artists4.png b/src/assets/images/nft/artists4.png new file mode 100644 index 0000000..c321eb7 Binary files /dev/null and b/src/assets/images/nft/artists4.png differ diff --git a/src/assets/images/nft/artists5.png b/src/assets/images/nft/artists5.png new file mode 100644 index 0000000..b070da7 Binary files /dev/null and b/src/assets/images/nft/artists5.png differ diff --git a/src/assets/images/nft/artists6.png b/src/assets/images/nft/artists6.png new file mode 100644 index 0000000..0e8e05a Binary files /dev/null and b/src/assets/images/nft/artists6.png differ diff --git a/src/assets/images/nft/artists7.png b/src/assets/images/nft/artists7.png new file mode 100644 index 0000000..3c21a23 Binary files /dev/null and b/src/assets/images/nft/artists7.png differ diff --git a/src/assets/images/nft/client1.png b/src/assets/images/nft/client1.png new file mode 100644 index 0000000..a680488 Binary files /dev/null and b/src/assets/images/nft/client1.png differ diff --git a/src/assets/images/nft/client2.png b/src/assets/images/nft/client2.png new file mode 100644 index 0000000..060936f Binary files /dev/null and b/src/assets/images/nft/client2.png differ diff --git a/src/assets/images/nft/client3.png b/src/assets/images/nft/client3.png new file mode 100644 index 0000000..35d4268 Binary files /dev/null and b/src/assets/images/nft/client3.png differ diff --git a/src/assets/images/nft/client4.png b/src/assets/images/nft/client4.png new file mode 100644 index 0000000..896057c Binary files /dev/null and b/src/assets/images/nft/client4.png differ diff --git a/src/assets/images/nft/client5.png b/src/assets/images/nft/client5.png new file mode 100644 index 0000000..e8465f7 Binary files /dev/null and b/src/assets/images/nft/client5.png differ diff --git a/src/assets/images/nft/client6.png b/src/assets/images/nft/client6.png new file mode 100644 index 0000000..2ca0b70 Binary files /dev/null and b/src/assets/images/nft/client6.png differ diff --git a/src/assets/images/nft/client7.png b/src/assets/images/nft/client7.png new file mode 100644 index 0000000..d235f94 Binary files /dev/null and b/src/assets/images/nft/client7.png differ diff --git a/src/assets/images/nft/client8.png b/src/assets/images/nft/client8.png new file mode 100644 index 0000000..a67e370 Binary files /dev/null and b/src/assets/images/nft/client8.png differ diff --git a/src/assets/images/nft/counter-bg.png b/src/assets/images/nft/counter-bg.png new file mode 100644 index 0000000..b66ba5d Binary files /dev/null and b/src/assets/images/nft/counter-bg.png differ diff --git a/src/assets/images/nft/creator.png b/src/assets/images/nft/creator.png new file mode 100644 index 0000000..8676953 Binary files /dev/null and b/src/assets/images/nft/creator.png differ diff --git a/src/assets/images/nft/eth-icon.png b/src/assets/images/nft/eth-icon.png new file mode 100644 index 0000000..a86968e Binary files /dev/null and b/src/assets/images/nft/eth-icon.png differ diff --git a/src/assets/images/nft/ethereum-icon.svg b/src/assets/images/nft/ethereum-icon.svg new file mode 100644 index 0000000..18a8f7b --- /dev/null +++ b/src/assets/images/nft/ethereum-icon.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/assets/images/nft/ethereum-logo.svg b/src/assets/images/nft/ethereum-logo.svg new file mode 100644 index 0000000..be8218e --- /dev/null +++ b/src/assets/images/nft/ethereum-logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/nft/feature1.jpg b/src/assets/images/nft/feature1.jpg new file mode 100644 index 0000000..4902e9c Binary files /dev/null and b/src/assets/images/nft/feature1.jpg differ diff --git a/src/assets/images/nft/feature2.jpg b/src/assets/images/nft/feature2.jpg new file mode 100644 index 0000000..e8ff002 Binary files /dev/null and b/src/assets/images/nft/feature2.jpg differ diff --git a/src/assets/images/nft/feature3.jpg b/src/assets/images/nft/feature3.jpg new file mode 100644 index 0000000..44e82dd Binary files /dev/null and b/src/assets/images/nft/feature3.jpg differ diff --git a/src/assets/images/nft/feature4.jpg b/src/assets/images/nft/feature4.jpg new file mode 100644 index 0000000..b70264f Binary files /dev/null and b/src/assets/images/nft/feature4.jpg differ diff --git a/src/assets/images/nft/feature5.jpg b/src/assets/images/nft/feature5.jpg new file mode 100644 index 0000000..39ff430 Binary files /dev/null and b/src/assets/images/nft/feature5.jpg differ diff --git a/src/assets/images/nft/feature6.jpg b/src/assets/images/nft/feature6.jpg new file mode 100644 index 0000000..795a173 Binary files /dev/null and b/src/assets/images/nft/feature6.jpg differ diff --git a/src/assets/images/nft/feature7.jpg b/src/assets/images/nft/feature7.jpg new file mode 100644 index 0000000..ff50c9a Binary files /dev/null and b/src/assets/images/nft/feature7.jpg differ diff --git a/src/assets/images/nft/feature8.jpg b/src/assets/images/nft/feature8.jpg new file mode 100644 index 0000000..0ea4adc Binary files /dev/null and b/src/assets/images/nft/feature8.jpg differ diff --git a/src/assets/images/nft/feature9.jpg b/src/assets/images/nft/feature9.jpg new file mode 100644 index 0000000..e42ec1b Binary files /dev/null and b/src/assets/images/nft/feature9.jpg differ diff --git a/src/assets/images/nft/logo-1.svg b/src/assets/images/nft/logo-1.svg new file mode 100644 index 0000000..7b932a0 --- /dev/null +++ b/src/assets/images/nft/logo-1.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/nft/logo-2.svg b/src/assets/images/nft/logo-2.svg new file mode 100644 index 0000000..bb9ec39 --- /dev/null +++ b/src/assets/images/nft/logo-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/nft/logo-3.svg b/src/assets/images/nft/logo-3.svg new file mode 100644 index 0000000..48cbb4c --- /dev/null +++ b/src/assets/images/nft/logo-3.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/assets/images/nft/logo-4.svg b/src/assets/images/nft/logo-4.svg new file mode 100644 index 0000000..6e3485b --- /dev/null +++ b/src/assets/images/nft/logo-4.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/assets/images/nft/logo-5.svg b/src/assets/images/nft/logo-5.svg new file mode 100644 index 0000000..20cd0a1 --- /dev/null +++ b/src/assets/images/nft/logo-5.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/assets/images/nft/logo-6.svg b/src/assets/images/nft/logo-6.svg new file mode 100644 index 0000000..0fefb94 --- /dev/null +++ b/src/assets/images/nft/logo-6.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/assets/images/nft/nft-1-four.png b/src/assets/images/nft/nft-1-four.png new file mode 100644 index 0000000..aa1deb6 Binary files /dev/null and b/src/assets/images/nft/nft-1-four.png differ diff --git a/src/assets/images/nft/nft-1-one.png b/src/assets/images/nft/nft-1-one.png new file mode 100644 index 0000000..93f5e55 Binary files /dev/null and b/src/assets/images/nft/nft-1-one.png differ diff --git a/src/assets/images/nft/nft-1-three.png b/src/assets/images/nft/nft-1-three.png new file mode 100644 index 0000000..c621980 Binary files /dev/null and b/src/assets/images/nft/nft-1-three.png differ diff --git a/src/assets/images/nft/nft-1-two.png b/src/assets/images/nft/nft-1-two.png new file mode 100644 index 0000000..51431dc Binary files /dev/null and b/src/assets/images/nft/nft-1-two.png differ diff --git a/src/assets/images/nft/nft-1.png b/src/assets/images/nft/nft-1.png new file mode 100644 index 0000000..5dcab3b Binary files /dev/null and b/src/assets/images/nft/nft-1.png differ diff --git a/src/assets/images/nft/nft-2-four.png b/src/assets/images/nft/nft-2-four.png new file mode 100644 index 0000000..8c6e190 Binary files /dev/null and b/src/assets/images/nft/nft-2-four.png differ diff --git a/src/assets/images/nft/nft-2-one.png b/src/assets/images/nft/nft-2-one.png new file mode 100644 index 0000000..d4b5fc8 Binary files /dev/null and b/src/assets/images/nft/nft-2-one.png differ diff --git a/src/assets/images/nft/nft-2-three.png b/src/assets/images/nft/nft-2-three.png new file mode 100644 index 0000000..8774699 Binary files /dev/null and b/src/assets/images/nft/nft-2-three.png differ diff --git a/src/assets/images/nft/nft-2-two.png b/src/assets/images/nft/nft-2-two.png new file mode 100644 index 0000000..29c424e Binary files /dev/null and b/src/assets/images/nft/nft-2-two.png differ diff --git a/src/assets/images/nft/nft-2.png b/src/assets/images/nft/nft-2.png new file mode 100644 index 0000000..d463a9e Binary files /dev/null and b/src/assets/images/nft/nft-2.png differ diff --git a/src/assets/images/nft/nft-3-four.png b/src/assets/images/nft/nft-3-four.png new file mode 100644 index 0000000..6df441c Binary files /dev/null and b/src/assets/images/nft/nft-3-four.png differ diff --git a/src/assets/images/nft/nft-3-one.png b/src/assets/images/nft/nft-3-one.png new file mode 100644 index 0000000..71086a1 Binary files /dev/null and b/src/assets/images/nft/nft-3-one.png differ diff --git a/src/assets/images/nft/nft-3-three.png b/src/assets/images/nft/nft-3-three.png new file mode 100644 index 0000000..8247e92 Binary files /dev/null and b/src/assets/images/nft/nft-3-three.png differ diff --git a/src/assets/images/nft/nft-3-two.png b/src/assets/images/nft/nft-3-two.png new file mode 100644 index 0000000..715e2e2 Binary files /dev/null and b/src/assets/images/nft/nft-3-two.png differ diff --git a/src/assets/images/nft/nft-3.png b/src/assets/images/nft/nft-3.png new file mode 100644 index 0000000..d5cfbd9 Binary files /dev/null and b/src/assets/images/nft/nft-3.png differ diff --git a/src/assets/images/nft/nft-4-four.png b/src/assets/images/nft/nft-4-four.png new file mode 100644 index 0000000..986ae9a Binary files /dev/null and b/src/assets/images/nft/nft-4-four.png differ diff --git a/src/assets/images/nft/nft-4-one.png b/src/assets/images/nft/nft-4-one.png new file mode 100644 index 0000000..e159488 Binary files /dev/null and b/src/assets/images/nft/nft-4-one.png differ diff --git a/src/assets/images/nft/nft-4-three.png b/src/assets/images/nft/nft-4-three.png new file mode 100644 index 0000000..e64da52 Binary files /dev/null and b/src/assets/images/nft/nft-4-three.png differ diff --git a/src/assets/images/nft/nft-4-two.png b/src/assets/images/nft/nft-4-two.png new file mode 100644 index 0000000..dd7c405 Binary files /dev/null and b/src/assets/images/nft/nft-4-two.png differ diff --git a/src/assets/images/nft/nft-4.png b/src/assets/images/nft/nft-4.png new file mode 100644 index 0000000..6e1cdf1 Binary files /dev/null and b/src/assets/images/nft/nft-4.png differ diff --git a/src/assets/images/nft/nft-banner.png b/src/assets/images/nft/nft-banner.png new file mode 100644 index 0000000..b46fddd Binary files /dev/null and b/src/assets/images/nft/nft-banner.png differ diff --git a/src/assets/images/nft/nft-conversion.svg b/src/assets/images/nft/nft-conversion.svg new file mode 100644 index 0000000..3012dd6 --- /dev/null +++ b/src/assets/images/nft/nft-conversion.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/nft/nft-img.png b/src/assets/images/nft/nft-img.png new file mode 100644 index 0000000..3c6a934 Binary files /dev/null and b/src/assets/images/nft/nft-img.png differ diff --git a/src/assets/images/nft/testimonial-client-1.png b/src/assets/images/nft/testimonial-client-1.png new file mode 100644 index 0000000..a6f5ae8 Binary files /dev/null and b/src/assets/images/nft/testimonial-client-1.png differ diff --git a/src/assets/images/nft/testimonial-client-2.png b/src/assets/images/nft/testimonial-client-2.png new file mode 100644 index 0000000..dae8981 Binary files /dev/null and b/src/assets/images/nft/testimonial-client-2.png differ diff --git a/src/assets/images/nft/testimonial-client-3.png b/src/assets/images/nft/testimonial-client-3.png new file mode 100644 index 0000000..62a30ae Binary files /dev/null and b/src/assets/images/nft/testimonial-client-3.png differ diff --git a/src/assets/images/nft/testimonial-client-4.png b/src/assets/images/nft/testimonial-client-4.png new file mode 100644 index 0000000..931e976 Binary files /dev/null and b/src/assets/images/nft/testimonial-client-4.png differ diff --git a/src/assets/images/nft/verify.svg b/src/assets/images/nft/verify.svg new file mode 100644 index 0000000..25a00df --- /dev/null +++ b/src/assets/images/nft/verify.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/ofc.png b/src/assets/images/ofc.png new file mode 100644 index 0000000..55f74b4 Binary files /dev/null and b/src/assets/images/ofc.png differ diff --git a/src/assets/images/online-courses/ABC.svg b/src/assets/images/online-courses/ABC.svg new file mode 100644 index 0000000..a1a268a --- /dev/null +++ b/src/assets/images/online-courses/ABC.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/online-courses/accountability.svg b/src/assets/images/online-courses/accountability.svg new file mode 100644 index 0000000..9c21013 --- /dev/null +++ b/src/assets/images/online-courses/accountability.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/online-courses/banner-bg-icon.png b/src/assets/images/online-courses/banner-bg-icon.png new file mode 100644 index 0000000..ee07d25 Binary files /dev/null and b/src/assets/images/online-courses/banner-bg-icon.png differ diff --git a/src/assets/images/online-courses/benifit-person-1.jpg b/src/assets/images/online-courses/benifit-person-1.jpg new file mode 100644 index 0000000..6fc7bda Binary files /dev/null and b/src/assets/images/online-courses/benifit-person-1.jpg differ diff --git a/src/assets/images/online-courses/benifit-person-2.jpg b/src/assets/images/online-courses/benifit-person-2.jpg new file mode 100644 index 0000000..2af5203 Binary files /dev/null and b/src/assets/images/online-courses/benifit-person-2.jpg differ diff --git a/src/assets/images/online-courses/bg-benifits.png b/src/assets/images/online-courses/bg-benifits.png new file mode 100644 index 0000000..ea91966 Binary files /dev/null and b/src/assets/images/online-courses/bg-benifits.png differ diff --git a/src/assets/images/online-courses/blog1.jpg b/src/assets/images/online-courses/blog1.jpg new file mode 100644 index 0000000..03782b8 Binary files /dev/null and b/src/assets/images/online-courses/blog1.jpg differ diff --git a/src/assets/images/online-courses/books.svg b/src/assets/images/online-courses/books.svg new file mode 100644 index 0000000..168736f --- /dev/null +++ b/src/assets/images/online-courses/books.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/online-courses/cloud_girl.png b/src/assets/images/online-courses/cloud_girl.png new file mode 100644 index 0000000..5a37615 Binary files /dev/null and b/src/assets/images/online-courses/cloud_girl.png differ diff --git a/src/assets/images/online-courses/course1.jpg b/src/assets/images/online-courses/course1.jpg new file mode 100644 index 0000000..a1ccf7b Binary files /dev/null and b/src/assets/images/online-courses/course1.jpg differ diff --git a/src/assets/images/online-courses/features-img.png b/src/assets/images/online-courses/features-img.png new file mode 100644 index 0000000..e65d76b Binary files /dev/null and b/src/assets/images/online-courses/features-img.png differ diff --git a/src/assets/images/online-courses/girl-books.png b/src/assets/images/online-courses/girl-books.png new file mode 100644 index 0000000..3ac3c1a Binary files /dev/null and b/src/assets/images/online-courses/girl-books.png differ diff --git a/src/assets/images/online-courses/graduate-icon.svg b/src/assets/images/online-courses/graduate-icon.svg new file mode 100644 index 0000000..ddb9e11 --- /dev/null +++ b/src/assets/images/online-courses/graduate-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/online-courses/hotspot-icon.svg b/src/assets/images/online-courses/hotspot-icon.svg new file mode 100644 index 0000000..00677bc --- /dev/null +++ b/src/assets/images/online-courses/hotspot-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/online-courses/inner-box.svg b/src/assets/images/online-courses/inner-box.svg new file mode 100644 index 0000000..c76ff07 --- /dev/null +++ b/src/assets/images/online-courses/inner-box.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/online-courses/learning-method-girl.png b/src/assets/images/online-courses/learning-method-girl.png new file mode 100644 index 0000000..ca09174 Binary files /dev/null and b/src/assets/images/online-courses/learning-method-girl.png differ diff --git a/src/assets/images/online-courses/line-bg.png b/src/assets/images/online-courses/line-bg.png new file mode 100644 index 0000000..f557ab8 Binary files /dev/null and b/src/assets/images/online-courses/line-bg.png differ diff --git a/src/assets/images/online-courses/man_123_icon.png b/src/assets/images/online-courses/man_123_icon.png new file mode 100644 index 0000000..c3c2832 Binary files /dev/null and b/src/assets/images/online-courses/man_123_icon.png differ diff --git a/src/assets/images/online-courses/man_123_icon.svg b/src/assets/images/online-courses/man_123_icon.svg new file mode 100644 index 0000000..481168f --- /dev/null +++ b/src/assets/images/online-courses/man_123_icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/online-courses/person-1.jpg b/src/assets/images/online-courses/person-1.jpg new file mode 100644 index 0000000..cafd952 Binary files /dev/null and b/src/assets/images/online-courses/person-1.jpg differ diff --git a/src/assets/images/online-courses/person-2.jpg b/src/assets/images/online-courses/person-2.jpg new file mode 100644 index 0000000..112aa3f Binary files /dev/null and b/src/assets/images/online-courses/person-2.jpg differ diff --git a/src/assets/images/online-courses/person-3.jpg b/src/assets/images/online-courses/person-3.jpg new file mode 100644 index 0000000..0540351 Binary files /dev/null and b/src/assets/images/online-courses/person-3.jpg differ diff --git a/src/assets/images/online-courses/person-4.jpg b/src/assets/images/online-courses/person-4.jpg new file mode 100644 index 0000000..f6e1141 Binary files /dev/null and b/src/assets/images/online-courses/person-4.jpg differ diff --git a/src/assets/images/online-courses/pink-arrow.svg b/src/assets/images/online-courses/pink-arrow.svg new file mode 100644 index 0000000..581fb72 --- /dev/null +++ b/src/assets/images/online-courses/pink-arrow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/online-courses/pink-top-arrow.svg b/src/assets/images/online-courses/pink-top-arrow.svg new file mode 100644 index 0000000..b11d0d6 --- /dev/null +++ b/src/assets/images/online-courses/pink-top-arrow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/online-courses/star-heading-icon.svg b/src/assets/images/online-courses/star-heading-icon.svg new file mode 100644 index 0000000..030cfc4 --- /dev/null +++ b/src/assets/images/online-courses/star-heading-icon.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/images/online-courses/student-1.jpg b/src/assets/images/online-courses/student-1.jpg new file mode 100644 index 0000000..6b342eb Binary files /dev/null and b/src/assets/images/online-courses/student-1.jpg differ diff --git a/src/assets/images/online-courses/student-attraction-icon.svg b/src/assets/images/online-courses/student-attraction-icon.svg new file mode 100644 index 0000000..d153c34 --- /dev/null +++ b/src/assets/images/online-courses/student-attraction-icon.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/images/online-courses/team-work.svg b/src/assets/images/online-courses/team-work.svg new file mode 100644 index 0000000..1f40637 --- /dev/null +++ b/src/assets/images/online-courses/team-work.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/images/online-courses/video-icon.svg b/src/assets/images/online-courses/video-icon.svg new file mode 100644 index 0000000..1baafa1 --- /dev/null +++ b/src/assets/images/online-courses/video-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/online-courses/yellow-arrow.svg b/src/assets/images/online-courses/yellow-arrow.svg new file mode 100644 index 0000000..3a38c23 --- /dev/null +++ b/src/assets/images/online-courses/yellow-arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/online-payments/app-store.svg b/src/assets/images/online-payments/app-store.svg new file mode 100644 index 0000000..f03cb3e --- /dev/null +++ b/src/assets/images/online-payments/app-store.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/images/online-payments/banner_img.png b/src/assets/images/online-payments/banner_img.png new file mode 100644 index 0000000..f536fa0 Binary files /dev/null and b/src/assets/images/online-payments/banner_img.png differ diff --git a/src/assets/images/online-payments/bg-patent.png b/src/assets/images/online-payments/bg-patent.png new file mode 100644 index 0000000..09e3433 Binary files /dev/null and b/src/assets/images/online-payments/bg-patent.png differ diff --git a/src/assets/images/online-payments/card-img.png b/src/assets/images/online-payments/card-img.png new file mode 100644 index 0000000..c2a2c1e Binary files /dev/null and b/src/assets/images/online-payments/card-img.png differ diff --git a/src/assets/images/online-payments/cashback-img.svg b/src/assets/images/online-payments/cashback-img.svg new file mode 100644 index 0000000..7bc8326 --- /dev/null +++ b/src/assets/images/online-payments/cashback-img.svg @@ -0,0 +1,459 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/online-payments/cashback-taxt.png b/src/assets/images/online-payments/cashback-taxt.png new file mode 100644 index 0000000..9a17e8d Binary files /dev/null and b/src/assets/images/online-payments/cashback-taxt.png differ diff --git a/src/assets/images/online-payments/cashback.jpg b/src/assets/images/online-payments/cashback.jpg new file mode 100644 index 0000000..fbcfd54 Binary files /dev/null and b/src/assets/images/online-payments/cashback.jpg differ diff --git a/src/assets/images/online-payments/customer-avatar.svg b/src/assets/images/online-payments/customer-avatar.svg new file mode 100644 index 0000000..4d35d4c --- /dev/null +++ b/src/assets/images/online-payments/customer-avatar.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/online-payments/dark-card-img.png b/src/assets/images/online-payments/dark-card-img.png new file mode 100644 index 0000000..4b61dca Binary files /dev/null and b/src/assets/images/online-payments/dark-card-img.png differ diff --git a/src/assets/images/online-payments/dark-detail_img1.png b/src/assets/images/online-payments/dark-detail_img1.png new file mode 100644 index 0000000..16b553b Binary files /dev/null and b/src/assets/images/online-payments/dark-detail_img1.png differ diff --git a/src/assets/images/online-payments/dark-detail_img2.png b/src/assets/images/online-payments/dark-detail_img2.png new file mode 100644 index 0000000..04e2a91 Binary files /dev/null and b/src/assets/images/online-payments/dark-detail_img2.png differ diff --git a/src/assets/images/online-payments/dark-detail_img3.png b/src/assets/images/online-payments/dark-detail_img3.png new file mode 100644 index 0000000..852f911 Binary files /dev/null and b/src/assets/images/online-payments/dark-detail_img3.png differ diff --git a/src/assets/images/online-payments/dark-phone-img.png b/src/assets/images/online-payments/dark-phone-img.png new file mode 100644 index 0000000..293ad41 Binary files /dev/null and b/src/assets/images/online-payments/dark-phone-img.png differ diff --git a/src/assets/images/online-payments/detail_img1.png b/src/assets/images/online-payments/detail_img1.png new file mode 100644 index 0000000..5643cac Binary files /dev/null and b/src/assets/images/online-payments/detail_img1.png differ diff --git a/src/assets/images/online-payments/detail_img2.png b/src/assets/images/online-payments/detail_img2.png new file mode 100644 index 0000000..5b215eb Binary files /dev/null and b/src/assets/images/online-payments/detail_img2.png differ diff --git a/src/assets/images/online-payments/detail_img3.png b/src/assets/images/online-payments/detail_img3.png new file mode 100644 index 0000000..b3fd8e6 Binary files /dev/null and b/src/assets/images/online-payments/detail_img3.png differ diff --git a/src/assets/images/online-payments/growth_img.png b/src/assets/images/online-payments/growth_img.png new file mode 100644 index 0000000..e9c0326 Binary files /dev/null and b/src/assets/images/online-payments/growth_img.png differ diff --git a/src/assets/images/online-payments/help_img.svg b/src/assets/images/online-payments/help_img.svg new file mode 100644 index 0000000..b7f4a53 --- /dev/null +++ b/src/assets/images/online-payments/help_img.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/online-payments/hero_btn_bg.png b/src/assets/images/online-payments/hero_btn_bg.png new file mode 100644 index 0000000..242da0c Binary files /dev/null and b/src/assets/images/online-payments/hero_btn_bg.png differ diff --git a/src/assets/images/online-payments/icon1.svg b/src/assets/images/online-payments/icon1.svg new file mode 100644 index 0000000..7265b78 --- /dev/null +++ b/src/assets/images/online-payments/icon1.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + diff --git a/src/assets/images/online-payments/icon2.svg b/src/assets/images/online-payments/icon2.svg new file mode 100644 index 0000000..de0ed8e --- /dev/null +++ b/src/assets/images/online-payments/icon2.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/assets/images/online-payments/icon3.svg b/src/assets/images/online-payments/icon3.svg new file mode 100644 index 0000000..9b6c7ca --- /dev/null +++ b/src/assets/images/online-payments/icon3.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/assets/images/online-payments/icon4.svg b/src/assets/images/online-payments/icon4.svg new file mode 100644 index 0000000..0296b04 --- /dev/null +++ b/src/assets/images/online-payments/icon4.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/online-payments/number_bg.png b/src/assets/images/online-payments/number_bg.png new file mode 100644 index 0000000..261f06e Binary files /dev/null and b/src/assets/images/online-payments/number_bg.png differ diff --git a/src/assets/images/online-payments/phone-img.png b/src/assets/images/online-payments/phone-img.png new file mode 100644 index 0000000..4f9957f Binary files /dev/null and b/src/assets/images/online-payments/phone-img.png differ diff --git a/src/assets/images/online-payments/play-store.svg b/src/assets/images/online-payments/play-store.svg new file mode 100644 index 0000000..7f3a65f --- /dev/null +++ b/src/assets/images/online-payments/play-store.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/online-payments/work-icon1.svg b/src/assets/images/online-payments/work-icon1.svg new file mode 100644 index 0000000..a168aca --- /dev/null +++ b/src/assets/images/online-payments/work-icon1.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/images/online-payments/work-icon2.svg b/src/assets/images/online-payments/work-icon2.svg new file mode 100644 index 0000000..d67ee0d --- /dev/null +++ b/src/assets/images/online-payments/work-icon2.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/images/online-payments/work-icon3.svg b/src/assets/images/online-payments/work-icon3.svg new file mode 100644 index 0000000..7f11d20 --- /dev/null +++ b/src/assets/images/online-payments/work-icon3.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/images/online-payments/work-icon4.svg b/src/assets/images/online-payments/work-icon4.svg new file mode 100644 index 0000000..5fe9ed8 --- /dev/null +++ b/src/assets/images/online-payments/work-icon4.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/origami-studio.png b/src/assets/images/origami-studio.png new file mode 100644 index 0000000..06c5cff Binary files /dev/null and b/src/assets/images/origami-studio.png differ diff --git a/src/assets/images/overlay-noise.png b/src/assets/images/overlay-noise.png new file mode 100644 index 0000000..43f0751 Binary files /dev/null and b/src/assets/images/overlay-noise.png differ diff --git a/src/assets/images/personal-portfolio/about-block-dark.png b/src/assets/images/personal-portfolio/about-block-dark.png new file mode 100644 index 0000000..8fecb25 Binary files /dev/null and b/src/assets/images/personal-portfolio/about-block-dark.png differ diff --git a/src/assets/images/personal-portfolio/about-block.png b/src/assets/images/personal-portfolio/about-block.png new file mode 100644 index 0000000..2111265 Binary files /dev/null and b/src/assets/images/personal-portfolio/about-block.png differ diff --git a/src/assets/images/personal-portfolio/app-development-icon.svg b/src/assets/images/personal-portfolio/app-development-icon.svg new file mode 100644 index 0000000..4c92380 --- /dev/null +++ b/src/assets/images/personal-portfolio/app-development-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/images/personal-portfolio/contact-email.png b/src/assets/images/personal-portfolio/contact-email.png new file mode 100644 index 0000000..25d201d Binary files /dev/null and b/src/assets/images/personal-portfolio/contact-email.png differ diff --git a/src/assets/images/personal-portfolio/digital-product.png b/src/assets/images/personal-portfolio/digital-product.png new file mode 100644 index 0000000..c0563f8 Binary files /dev/null and b/src/assets/images/personal-portfolio/digital-product.png differ diff --git a/src/assets/images/personal-portfolio/enterpreneurship-rocket.png b/src/assets/images/personal-portfolio/enterpreneurship-rocket.png new file mode 100644 index 0000000..229b87e Binary files /dev/null and b/src/assets/images/personal-portfolio/enterpreneurship-rocket.png differ diff --git a/src/assets/images/personal-portfolio/enterpreneurship-text.png b/src/assets/images/personal-portfolio/enterpreneurship-text.png new file mode 100644 index 0000000..1cca371 Binary files /dev/null and b/src/assets/images/personal-portfolio/enterpreneurship-text.png differ diff --git a/src/assets/images/personal-portfolio/figma-icon.svg b/src/assets/images/personal-portfolio/figma-icon.svg new file mode 100644 index 0000000..0cb342e --- /dev/null +++ b/src/assets/images/personal-portfolio/figma-icon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/images/personal-portfolio/founder-avatar.png b/src/assets/images/personal-portfolio/founder-avatar.png new file mode 100644 index 0000000..e6471f5 Binary files /dev/null and b/src/assets/images/personal-portfolio/founder-avatar.png differ diff --git a/src/assets/images/personal-portfolio/graphic-icon.svg b/src/assets/images/personal-portfolio/graphic-icon.svg new file mode 100644 index 0000000..dc34347 --- /dev/null +++ b/src/assets/images/personal-portfolio/graphic-icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/personal-portfolio/logo-1.svg b/src/assets/images/personal-portfolio/logo-1.svg new file mode 100644 index 0000000..31bf448 --- /dev/null +++ b/src/assets/images/personal-portfolio/logo-1.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/personal-portfolio/logo-2.svg b/src/assets/images/personal-portfolio/logo-2.svg new file mode 100644 index 0000000..c293e89 --- /dev/null +++ b/src/assets/images/personal-portfolio/logo-2.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/personal-portfolio/logo-3.svg b/src/assets/images/personal-portfolio/logo-3.svg new file mode 100644 index 0000000..dd86475 --- /dev/null +++ b/src/assets/images/personal-portfolio/logo-3.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/personal-portfolio/man-about.png b/src/assets/images/personal-portfolio/man-about.png new file mode 100644 index 0000000..9f2e641 Binary files /dev/null and b/src/assets/images/personal-portfolio/man-about.png differ diff --git a/src/assets/images/personal-portfolio/portfolio-1.jpg b/src/assets/images/personal-portfolio/portfolio-1.jpg new file mode 100644 index 0000000..59a88e3 Binary files /dev/null and b/src/assets/images/personal-portfolio/portfolio-1.jpg differ diff --git a/src/assets/images/personal-portfolio/portfolio-2.jpg b/src/assets/images/personal-portfolio/portfolio-2.jpg new file mode 100644 index 0000000..d5fbf13 Binary files /dev/null and b/src/assets/images/personal-portfolio/portfolio-2.jpg differ diff --git a/src/assets/images/personal-portfolio/portfolio-3.jpg b/src/assets/images/personal-portfolio/portfolio-3.jpg new file mode 100644 index 0000000..eceb646 Binary files /dev/null and b/src/assets/images/personal-portfolio/portfolio-3.jpg differ diff --git a/src/assets/images/personal-portfolio/product-icon.svg b/src/assets/images/personal-portfolio/product-icon.svg new file mode 100644 index 0000000..4000d69 --- /dev/null +++ b/src/assets/images/personal-portfolio/product-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/images/personal-portfolio/research-icon.svg b/src/assets/images/personal-portfolio/research-icon.svg new file mode 100644 index 0000000..274c7ce --- /dev/null +++ b/src/assets/images/personal-portfolio/research-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/personal-portfolio/sketch-icon.svg b/src/assets/images/personal-portfolio/sketch-icon.svg new file mode 100644 index 0000000..db42b22 --- /dev/null +++ b/src/assets/images/personal-portfolio/sketch-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/images/personal-portfolio/star-icon.svg b/src/assets/images/personal-portfolio/star-icon.svg new file mode 100644 index 0000000..98cf3db --- /dev/null +++ b/src/assets/images/personal-portfolio/star-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/personal-portfolio/ui-ux-icon.svg b/src/assets/images/personal-portfolio/ui-ux-icon.svg new file mode 100644 index 0000000..51c3b9f --- /dev/null +++ b/src/assets/images/personal-portfolio/ui-ux-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/personal-portfolio/web-design-icon.svg b/src/assets/images/personal-portfolio/web-design-icon.svg new file mode 100644 index 0000000..523703f --- /dev/null +++ b/src/assets/images/personal-portfolio/web-design-icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/personal-portfolio/website-apps.png b/src/assets/images/personal-portfolio/website-apps.png new file mode 100644 index 0000000..1e06b1d Binary files /dev/null and b/src/assets/images/personal-portfolio/website-apps.png differ diff --git a/src/assets/images/personal-portfolio/women-banner.png b/src/assets/images/personal-portfolio/women-banner.png new file mode 100644 index 0000000..66b3271 Binary files /dev/null and b/src/assets/images/personal-portfolio/women-banner.png differ diff --git a/src/assets/images/personal-portfolio/women.jpg b/src/assets/images/personal-portfolio/women.jpg new file mode 100644 index 0000000..dbbf051 Binary files /dev/null and b/src/assets/images/personal-portfolio/women.jpg differ diff --git a/src/assets/images/photography/banner-img.jpg b/src/assets/images/photography/banner-img.jpg new file mode 100644 index 0000000..b0239bd Binary files /dev/null and b/src/assets/images/photography/banner-img.jpg differ diff --git a/src/assets/images/photography/blog1.jpg b/src/assets/images/photography/blog1.jpg new file mode 100644 index 0000000..25ee05c Binary files /dev/null and b/src/assets/images/photography/blog1.jpg differ diff --git a/src/assets/images/photography/blog2.jpg b/src/assets/images/photography/blog2.jpg new file mode 100644 index 0000000..223e637 Binary files /dev/null and b/src/assets/images/photography/blog2.jpg differ diff --git a/src/assets/images/photography/blog3.jpg b/src/assets/images/photography/blog3.jpg new file mode 100644 index 0000000..7cbd62c Binary files /dev/null and b/src/assets/images/photography/blog3.jpg differ diff --git a/src/assets/images/photography/customer-avatar.svg b/src/assets/images/photography/customer-avatar.svg new file mode 100644 index 0000000..7593d16 --- /dev/null +++ b/src/assets/images/photography/customer-avatar.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/photography/img.png b/src/assets/images/photography/img.png new file mode 100644 index 0000000..2985d30 Binary files /dev/null and b/src/assets/images/photography/img.png differ diff --git a/src/assets/images/photography/img1.jpg b/src/assets/images/photography/img1.jpg new file mode 100644 index 0000000..abc1e80 Binary files /dev/null and b/src/assets/images/photography/img1.jpg differ diff --git a/src/assets/images/photography/img2.jpg b/src/assets/images/photography/img2.jpg new file mode 100644 index 0000000..b21bd89 Binary files /dev/null and b/src/assets/images/photography/img2.jpg differ diff --git a/src/assets/images/photography/img3.jpg b/src/assets/images/photography/img3.jpg new file mode 100644 index 0000000..4e29c7d Binary files /dev/null and b/src/assets/images/photography/img3.jpg differ diff --git a/src/assets/images/photography/img4.jpg b/src/assets/images/photography/img4.jpg new file mode 100644 index 0000000..8150d9b Binary files /dev/null and b/src/assets/images/photography/img4.jpg differ diff --git a/src/assets/images/photography/img5.jpg b/src/assets/images/photography/img5.jpg new file mode 100644 index 0000000..091b50a Binary files /dev/null and b/src/assets/images/photography/img5.jpg differ diff --git a/src/assets/images/photography/img6.jpg b/src/assets/images/photography/img6.jpg new file mode 100644 index 0000000..60f56b9 Binary files /dev/null and b/src/assets/images/photography/img6.jpg differ diff --git a/src/assets/images/photography/img7.jpg b/src/assets/images/photography/img7.jpg new file mode 100644 index 0000000..3c022f5 Binary files /dev/null and b/src/assets/images/photography/img7.jpg differ diff --git a/src/assets/images/photography/img8.jpg b/src/assets/images/photography/img8.jpg new file mode 100644 index 0000000..631a607 Binary files /dev/null and b/src/assets/images/photography/img8.jpg differ diff --git a/src/assets/images/photography/logo1.svg b/src/assets/images/photography/logo1.svg new file mode 100644 index 0000000..bdb5c20 --- /dev/null +++ b/src/assets/images/photography/logo1.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/assets/images/photography/logo2.svg b/src/assets/images/photography/logo2.svg new file mode 100644 index 0000000..5fa49bf --- /dev/null +++ b/src/assets/images/photography/logo2.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/images/photography/logo3.svg b/src/assets/images/photography/logo3.svg new file mode 100644 index 0000000..4a841ab --- /dev/null +++ b/src/assets/images/photography/logo3.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/photography/our_bg.png b/src/assets/images/photography/our_bg.png new file mode 100644 index 0000000..594c6a0 Binary files /dev/null and b/src/assets/images/photography/our_bg.png differ diff --git a/src/assets/images/photography/photo1.jpg b/src/assets/images/photography/photo1.jpg new file mode 100644 index 0000000..d99a2c2 Binary files /dev/null and b/src/assets/images/photography/photo1.jpg differ diff --git a/src/assets/images/photography/photo2.jpg b/src/assets/images/photography/photo2.jpg new file mode 100644 index 0000000..e9933e9 Binary files /dev/null and b/src/assets/images/photography/photo2.jpg differ diff --git a/src/assets/images/photography/photo3.jpg b/src/assets/images/photography/photo3.jpg new file mode 100644 index 0000000..c1e3e7b Binary files /dev/null and b/src/assets/images/photography/photo3.jpg differ diff --git a/src/assets/images/photography/photo4.jpg b/src/assets/images/photography/photo4.jpg new file mode 100644 index 0000000..1d87880 Binary files /dev/null and b/src/assets/images/photography/photo4.jpg differ diff --git a/src/assets/images/photography/slider1.jpg b/src/assets/images/photography/slider1.jpg new file mode 100644 index 0000000..27a2e59 Binary files /dev/null and b/src/assets/images/photography/slider1.jpg differ diff --git a/src/assets/images/photography/slider2.jpg b/src/assets/images/photography/slider2.jpg new file mode 100644 index 0000000..5b2243a Binary files /dev/null and b/src/assets/images/photography/slider2.jpg differ diff --git a/src/assets/images/photography/slider3.jpg b/src/assets/images/photography/slider3.jpg new file mode 100644 index 0000000..e29f218 Binary files /dev/null and b/src/assets/images/photography/slider3.jpg differ diff --git a/src/assets/images/photography/slider4.jpg b/src/assets/images/photography/slider4.jpg new file mode 100644 index 0000000..70fbe89 Binary files /dev/null and b/src/assets/images/photography/slider4.jpg differ diff --git a/src/assets/images/photography/slider5.jpg b/src/assets/images/photography/slider5.jpg new file mode 100644 index 0000000..1b0a29e Binary files /dev/null and b/src/assets/images/photography/slider5.jpg differ diff --git a/src/assets/images/photography/slider6.jpg b/src/assets/images/photography/slider6.jpg new file mode 100644 index 0000000..db73366 Binary files /dev/null and b/src/assets/images/photography/slider6.jpg differ diff --git a/src/assets/images/photography/slider7.jpg b/src/assets/images/photography/slider7.jpg new file mode 100644 index 0000000..8040450 Binary files /dev/null and b/src/assets/images/photography/slider7.jpg differ diff --git a/src/assets/images/portfolio-2/beautiful-brands.png b/src/assets/images/portfolio-2/beautiful-brands.png new file mode 100644 index 0000000..5fc9168 Binary files /dev/null and b/src/assets/images/portfolio-2/beautiful-brands.png differ diff --git a/src/assets/images/portfolio-2/portfolio-banner-min.jpg b/src/assets/images/portfolio-2/portfolio-banner-min.jpg new file mode 100644 index 0000000..b29634a Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio-banner-min.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio1.jpg b/src/assets/images/portfolio-2/portfolio1.jpg new file mode 100644 index 0000000..9061125 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio1.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio10.jpg b/src/assets/images/portfolio-2/portfolio10.jpg new file mode 100644 index 0000000..7a4fc56 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio10.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio11.jpg b/src/assets/images/portfolio-2/portfolio11.jpg new file mode 100644 index 0000000..5a149e8 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio11.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio12.jpg b/src/assets/images/portfolio-2/portfolio12.jpg new file mode 100644 index 0000000..41c0185 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio12.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio13.jpg b/src/assets/images/portfolio-2/portfolio13.jpg new file mode 100644 index 0000000..3afefc6 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio13.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio14.jpg b/src/assets/images/portfolio-2/portfolio14.jpg new file mode 100644 index 0000000..e7885b9 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio14.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio15.jpg b/src/assets/images/portfolio-2/portfolio15.jpg new file mode 100644 index 0000000..a4dcadd Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio15.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio16.jpg b/src/assets/images/portfolio-2/portfolio16.jpg new file mode 100644 index 0000000..0c06dca Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio16.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio17.jpg b/src/assets/images/portfolio-2/portfolio17.jpg new file mode 100644 index 0000000..b1d4348 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio17.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio18.jpg b/src/assets/images/portfolio-2/portfolio18.jpg new file mode 100644 index 0000000..bf84d4c Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio18.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio19.jpg b/src/assets/images/portfolio-2/portfolio19.jpg new file mode 100644 index 0000000..d6741d3 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio19.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio2.jpg b/src/assets/images/portfolio-2/portfolio2.jpg new file mode 100644 index 0000000..bf4565d Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio2.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio20.jpg b/src/assets/images/portfolio-2/portfolio20.jpg new file mode 100644 index 0000000..635d328 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio20.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio3.jpg b/src/assets/images/portfolio-2/portfolio3.jpg new file mode 100644 index 0000000..baaafe9 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio3.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio4.jpg b/src/assets/images/portfolio-2/portfolio4.jpg new file mode 100644 index 0000000..8be66a6 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio4.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio5.jpg b/src/assets/images/portfolio-2/portfolio5.jpg new file mode 100644 index 0000000..6340e57 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio5.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio6.jpg b/src/assets/images/portfolio-2/portfolio6.jpg new file mode 100644 index 0000000..a0a252b Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio6.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio7.jpg b/src/assets/images/portfolio-2/portfolio7.jpg new file mode 100644 index 0000000..5c8f547 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio7.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio8.jpg b/src/assets/images/portfolio-2/portfolio8.jpg new file mode 100644 index 0000000..b71f4bf Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio8.jpg differ diff --git a/src/assets/images/portfolio-2/portfolio9.jpg b/src/assets/images/portfolio-2/portfolio9.jpg new file mode 100644 index 0000000..ea72aa9 Binary files /dev/null and b/src/assets/images/portfolio-2/portfolio9.jpg differ diff --git a/src/assets/images/portfolio1.png b/src/assets/images/portfolio1.png new file mode 100644 index 0000000..e61d288 Binary files /dev/null and b/src/assets/images/portfolio1.png differ diff --git a/src/assets/images/portfolio2.png b/src/assets/images/portfolio2.png new file mode 100644 index 0000000..ec7386d Binary files /dev/null and b/src/assets/images/portfolio2.png differ diff --git a/src/assets/images/portfolio3.png b/src/assets/images/portfolio3.png new file mode 100644 index 0000000..740c2d9 Binary files /dev/null and b/src/assets/images/portfolio3.png differ diff --git a/src/assets/images/portfolio4.png b/src/assets/images/portfolio4.png new file mode 100644 index 0000000..0ee7ce9 Binary files /dev/null and b/src/assets/images/portfolio4.png differ diff --git a/src/assets/images/project-1.png b/src/assets/images/project-1.png new file mode 100644 index 0000000..4a5234d Binary files /dev/null and b/src/assets/images/project-1.png differ diff --git a/src/assets/images/project-10.png b/src/assets/images/project-10.png new file mode 100644 index 0000000..c1cf00a Binary files /dev/null and b/src/assets/images/project-10.png differ diff --git a/src/assets/images/project-11.png b/src/assets/images/project-11.png new file mode 100644 index 0000000..a7f29e8 Binary files /dev/null and b/src/assets/images/project-11.png differ diff --git a/src/assets/images/project-12.png b/src/assets/images/project-12.png new file mode 100644 index 0000000..ec97f04 Binary files /dev/null and b/src/assets/images/project-12.png differ diff --git a/src/assets/images/project-2.png b/src/assets/images/project-2.png new file mode 100644 index 0000000..1ed4ba7 Binary files /dev/null and b/src/assets/images/project-2.png differ diff --git a/src/assets/images/project-3.png b/src/assets/images/project-3.png new file mode 100644 index 0000000..7d1e838 Binary files /dev/null and b/src/assets/images/project-3.png differ diff --git a/src/assets/images/project-4.png b/src/assets/images/project-4.png new file mode 100644 index 0000000..c754e32 Binary files /dev/null and b/src/assets/images/project-4.png differ diff --git a/src/assets/images/project-5.png b/src/assets/images/project-5.png new file mode 100644 index 0000000..6558365 Binary files /dev/null and b/src/assets/images/project-5.png differ diff --git a/src/assets/images/project-6.png b/src/assets/images/project-6.png new file mode 100644 index 0000000..521ae14 Binary files /dev/null and b/src/assets/images/project-6.png differ diff --git a/src/assets/images/project-7.png b/src/assets/images/project-7.png new file mode 100644 index 0000000..2ffe0aa Binary files /dev/null and b/src/assets/images/project-7.png differ diff --git a/src/assets/images/project-8.png b/src/assets/images/project-8.png new file mode 100644 index 0000000..8686f64 Binary files /dev/null and b/src/assets/images/project-8.png differ diff --git a/src/assets/images/project-9.png b/src/assets/images/project-9.png new file mode 100644 index 0000000..76c32f0 Binary files /dev/null and b/src/assets/images/project-9.png differ diff --git a/src/assets/images/realestate/customer-avatar.svg b/src/assets/images/realestate/customer-avatar.svg new file mode 100644 index 0000000..4d35d4c --- /dev/null +++ b/src/assets/images/realestate/customer-avatar.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/realestate/line.png b/src/assets/images/realestate/line.png new file mode 100644 index 0000000..bd31571 Binary files /dev/null and b/src/assets/images/realestate/line.png differ diff --git a/src/assets/images/realestate/newsletter.svg b/src/assets/images/realestate/newsletter.svg new file mode 100644 index 0000000..e3f0690 --- /dev/null +++ b/src/assets/images/realestate/newsletter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/newsletter_img.png b/src/assets/images/realestate/newsletter_img.png new file mode 100644 index 0000000..9a7f2ee Binary files /dev/null and b/src/assets/images/realestate/newsletter_img.png differ diff --git a/src/assets/images/realestate/properties1.png b/src/assets/images/realestate/properties1.png new file mode 100644 index 0000000..723afb8 Binary files /dev/null and b/src/assets/images/realestate/properties1.png differ diff --git a/src/assets/images/realestate/properties2.png b/src/assets/images/realestate/properties2.png new file mode 100644 index 0000000..169fd51 Binary files /dev/null and b/src/assets/images/realestate/properties2.png differ diff --git a/src/assets/images/realestate/properties3.png b/src/assets/images/realestate/properties3.png new file mode 100644 index 0000000..0ac3021 Binary files /dev/null and b/src/assets/images/realestate/properties3.png differ diff --git a/src/assets/images/realestate/properties_img.png b/src/assets/images/realestate/properties_img.png new file mode 100644 index 0000000..9f47b9c Binary files /dev/null and b/src/assets/images/realestate/properties_img.png differ diff --git a/src/assets/images/realestate/property1-dark.svg b/src/assets/images/realestate/property1-dark.svg new file mode 100644 index 0000000..f7d52f7 --- /dev/null +++ b/src/assets/images/realestate/property1-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property1.svg b/src/assets/images/realestate/property1.svg new file mode 100644 index 0000000..ad97822 --- /dev/null +++ b/src/assets/images/realestate/property1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property2-dark.svg b/src/assets/images/realestate/property2-dark.svg new file mode 100644 index 0000000..6dc5e17 --- /dev/null +++ b/src/assets/images/realestate/property2-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property2.svg b/src/assets/images/realestate/property2.svg new file mode 100644 index 0000000..e0a4a3a --- /dev/null +++ b/src/assets/images/realestate/property2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property3-dark.svg b/src/assets/images/realestate/property3-dark.svg new file mode 100644 index 0000000..37c21b9 --- /dev/null +++ b/src/assets/images/realestate/property3-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property3.svg b/src/assets/images/realestate/property3.svg new file mode 100644 index 0000000..d1d15f9 --- /dev/null +++ b/src/assets/images/realestate/property3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property4-dark.svg b/src/assets/images/realestate/property4-dark.svg new file mode 100644 index 0000000..6df312b --- /dev/null +++ b/src/assets/images/realestate/property4-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property4.svg b/src/assets/images/realestate/property4.svg new file mode 100644 index 0000000..77988dc --- /dev/null +++ b/src/assets/images/realestate/property4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property5-dark.svg b/src/assets/images/realestate/property5-dark.svg new file mode 100644 index 0000000..12b2ce4 --- /dev/null +++ b/src/assets/images/realestate/property5-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property5.svg b/src/assets/images/realestate/property5.svg new file mode 100644 index 0000000..7fedf54 --- /dev/null +++ b/src/assets/images/realestate/property5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property6-dark.svg b/src/assets/images/realestate/property6-dark.svg new file mode 100644 index 0000000..d85646f --- /dev/null +++ b/src/assets/images/realestate/property6-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property6.svg b/src/assets/images/realestate/property6.svg new file mode 100644 index 0000000..4124b34 --- /dev/null +++ b/src/assets/images/realestate/property6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property7-dark.svg b/src/assets/images/realestate/property7-dark.svg new file mode 100644 index 0000000..8a2f99a --- /dev/null +++ b/src/assets/images/realestate/property7-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property7.svg b/src/assets/images/realestate/property7.svg new file mode 100644 index 0000000..60e6b9c --- /dev/null +++ b/src/assets/images/realestate/property7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property8-dark.svg b/src/assets/images/realestate/property8-dark.svg new file mode 100644 index 0000000..b5f0b56 --- /dev/null +++ b/src/assets/images/realestate/property8-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/property8.svg b/src/assets/images/realestate/property8.svg new file mode 100644 index 0000000..4c19cf7 --- /dev/null +++ b/src/assets/images/realestate/property8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/realestate_img.png b/src/assets/images/realestate/realestate_img.png new file mode 100644 index 0000000..249640a Binary files /dev/null and b/src/assets/images/realestate/realestate_img.png differ diff --git a/src/assets/images/realestate/realestate_img1.png b/src/assets/images/realestate/realestate_img1.png new file mode 100644 index 0000000..f036ce6 Binary files /dev/null and b/src/assets/images/realestate/realestate_img1.png differ diff --git a/src/assets/images/realestate/testimonials-dark.svg b/src/assets/images/realestate/testimonials-dark.svg new file mode 100644 index 0000000..46f7f7f --- /dev/null +++ b/src/assets/images/realestate/testimonials-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/realestate/testimonials.svg b/src/assets/images/realestate/testimonials.svg new file mode 100644 index 0000000..640eb60 --- /dev/null +++ b/src/assets/images/realestate/testimonials.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/restaurent/Book-icon.svg b/src/assets/images/restaurent/Book-icon.svg new file mode 100644 index 0000000..52250f9 --- /dev/null +++ b/src/assets/images/restaurent/Book-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/restaurent/app-bg.png b/src/assets/images/restaurent/app-bg.png new file mode 100644 index 0000000..3fed14f Binary files /dev/null and b/src/assets/images/restaurent/app-bg.png differ diff --git a/src/assets/images/restaurent/banner-dish-1.png b/src/assets/images/restaurent/banner-dish-1.png new file mode 100644 index 0000000..f996586 Binary files /dev/null and b/src/assets/images/restaurent/banner-dish-1.png differ diff --git a/src/assets/images/restaurent/banner-dish-2.png b/src/assets/images/restaurent/banner-dish-2.png new file mode 100644 index 0000000..5c74ee0 Binary files /dev/null and b/src/assets/images/restaurent/banner-dish-2.png differ diff --git a/src/assets/images/restaurent/fire-icon.svg b/src/assets/images/restaurent/fire-icon.svg new file mode 100644 index 0000000..c8e217f --- /dev/null +++ b/src/assets/images/restaurent/fire-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/restaurent/food-1.png b/src/assets/images/restaurent/food-1.png new file mode 100644 index 0000000..328c41e Binary files /dev/null and b/src/assets/images/restaurent/food-1.png differ diff --git a/src/assets/images/restaurent/food-2.png b/src/assets/images/restaurent/food-2.png new file mode 100644 index 0000000..1819b58 Binary files /dev/null and b/src/assets/images/restaurent/food-2.png differ diff --git a/src/assets/images/restaurent/food-3.png b/src/assets/images/restaurent/food-3.png new file mode 100644 index 0000000..cbc6fd3 Binary files /dev/null and b/src/assets/images/restaurent/food-3.png differ diff --git a/src/assets/images/restaurent/food-4.png b/src/assets/images/restaurent/food-4.png new file mode 100644 index 0000000..cf14fb7 Binary files /dev/null and b/src/assets/images/restaurent/food-4.png differ diff --git a/src/assets/images/restaurent/food-5.png b/src/assets/images/restaurent/food-5.png new file mode 100644 index 0000000..1fa4ac6 Binary files /dev/null and b/src/assets/images/restaurent/food-5.png differ diff --git a/src/assets/images/restaurent/heart-icon.svg b/src/assets/images/restaurent/heart-icon.svg new file mode 100644 index 0000000..673505e --- /dev/null +++ b/src/assets/images/restaurent/heart-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/restaurent/lifestyle-plan.png b/src/assets/images/restaurent/lifestyle-plan.png new file mode 100644 index 0000000..642c3eb Binary files /dev/null and b/src/assets/images/restaurent/lifestyle-plan.png differ diff --git a/src/assets/images/restaurent/plan-1.png b/src/assets/images/restaurent/plan-1.png new file mode 100644 index 0000000..43fb150 Binary files /dev/null and b/src/assets/images/restaurent/plan-1.png differ diff --git a/src/assets/images/restaurent/plan-2.png b/src/assets/images/restaurent/plan-2.png new file mode 100644 index 0000000..520564b Binary files /dev/null and b/src/assets/images/restaurent/plan-2.png differ diff --git a/src/assets/images/restaurent/plan-3.png b/src/assets/images/restaurent/plan-3.png new file mode 100644 index 0000000..11d90db Binary files /dev/null and b/src/assets/images/restaurent/plan-3.png differ diff --git a/src/assets/images/restaurent/restaurent-banner.jpg b/src/assets/images/restaurent/restaurent-banner.jpg new file mode 100644 index 0000000..6cb1f2c Binary files /dev/null and b/src/assets/images/restaurent/restaurent-banner.jpg differ diff --git a/src/assets/images/restaurent/restaurent-bg.png b/src/assets/images/restaurent/restaurent-bg.png new file mode 100644 index 0000000..636888e Binary files /dev/null and b/src/assets/images/restaurent/restaurent-bg.png differ diff --git a/src/assets/images/restaurent/right-arrow.svg b/src/assets/images/restaurent/right-arrow.svg new file mode 100644 index 0000000..e5415b1 --- /dev/null +++ b/src/assets/images/restaurent/right-arrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/restaurent/vector-line-dark.svg b/src/assets/images/restaurent/vector-line-dark.svg new file mode 100644 index 0000000..3319821 --- /dev/null +++ b/src/assets/images/restaurent/vector-line-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/restaurent/vector-line.svg b/src/assets/images/restaurent/vector-line.svg new file mode 100644 index 0000000..867f121 --- /dev/null +++ b/src/assets/images/restaurent/vector-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/restaurent/waiter.png b/src/assets/images/restaurent/waiter.png new file mode 100644 index 0000000..fa8f346 Binary files /dev/null and b/src/assets/images/restaurent/waiter.png differ diff --git a/src/assets/images/service-bg.png b/src/assets/images/service-bg.png new file mode 100644 index 0000000..3b4718f Binary files /dev/null and b/src/assets/images/service-bg.png differ diff --git a/src/assets/images/service-video-bg-gradiant.png b/src/assets/images/service-video-bg-gradiant.png new file mode 100644 index 0000000..4470923 Binary files /dev/null and b/src/assets/images/service-video-bg-gradiant.png differ diff --git a/src/assets/images/service-video-bg.png b/src/assets/images/service-video-bg.png new file mode 100644 index 0000000..1c1ab9c Binary files /dev/null and b/src/assets/images/service-video-bg.png differ diff --git a/src/assets/images/services-detail-phone.png b/src/assets/images/services-detail-phone.png new file mode 100644 index 0000000..78668cb Binary files /dev/null and b/src/assets/images/services-detail-phone.png differ diff --git a/src/assets/images/services-form-txt.png b/src/assets/images/services-form-txt.png new file mode 100644 index 0000000..6bda2b9 Binary files /dev/null and b/src/assets/images/services-form-txt.png differ diff --git a/src/assets/images/sketch.png b/src/assets/images/sketch.png new file mode 100644 index 0000000..b2b700b Binary files /dev/null and b/src/assets/images/sketch.png differ diff --git a/src/assets/images/sophia-avtar.png b/src/assets/images/sophia-avtar.png new file mode 100644 index 0000000..3e1a209 Binary files /dev/null and b/src/assets/images/sophia-avtar.png differ diff --git a/src/assets/images/stay-text.png b/src/assets/images/stay-text.png new file mode 100644 index 0000000..09180f4 Binary files /dev/null and b/src/assets/images/stay-text.png differ diff --git a/src/assets/images/team-bg.png b/src/assets/images/team-bg.png new file mode 100644 index 0000000..57b1461 Binary files /dev/null and b/src/assets/images/team-bg.png differ diff --git a/src/assets/images/team-member-1.png b/src/assets/images/team-member-1.png new file mode 100644 index 0000000..f794b20 Binary files /dev/null and b/src/assets/images/team-member-1.png differ diff --git a/src/assets/images/team-member-2.png b/src/assets/images/team-member-2.png new file mode 100644 index 0000000..64bf780 Binary files /dev/null and b/src/assets/images/team-member-2.png differ diff --git a/src/assets/images/team-member-3.png b/src/assets/images/team-member-3.png new file mode 100644 index 0000000..a3b7f36 Binary files /dev/null and b/src/assets/images/team-member-3.png differ diff --git a/src/assets/images/team-member-4.png b/src/assets/images/team-member-4.png new file mode 100644 index 0000000..58ebfbd Binary files /dev/null and b/src/assets/images/team-member-4.png differ diff --git a/src/assets/images/testimonial-shadow.svg b/src/assets/images/testimonial-shadow.svg new file mode 100644 index 0000000..b845a52 --- /dev/null +++ b/src/assets/images/testimonial-shadow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/testimonial.png b/src/assets/images/testimonial.png new file mode 100644 index 0000000..0ff95aa Binary files /dev/null and b/src/assets/images/testimonial.png differ diff --git a/src/assets/images/testimonial2.png b/src/assets/images/testimonial2.png new file mode 100644 index 0000000..44b714e Binary files /dev/null and b/src/assets/images/testimonial2.png differ diff --git a/src/assets/images/testimonial3.png b/src/assets/images/testimonial3.png new file mode 100644 index 0000000..a6c661a Binary files /dev/null and b/src/assets/images/testimonial3.png differ diff --git a/src/assets/images/updated-text.png b/src/assets/images/updated-text.png new file mode 100644 index 0000000..00f6eb7 Binary files /dev/null and b/src/assets/images/updated-text.png differ diff --git a/src/assets/images/world-map.png b/src/assets/images/world-map.png new file mode 100644 index 0000000..c1438e4 Binary files /dev/null and b/src/assets/images/world-map.png differ diff --git a/src/demo-prepare.html b/src/demo-prepare.html new file mode 100644 index 0000000..86aabe7 --- /dev/null +++ b/src/demo-prepare.html @@ -0,0 +1,97 @@ + + + + + + + Preparing demo... + + + + +
+
+
+
+
+
+
+ + + + diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts new file mode 100644 index 0000000..800fa4f --- /dev/null +++ b/src/environments/environment.prod.ts @@ -0,0 +1,7 @@ +export const environment = { + production: true, + // apiUrl: 'http://support-portal.shyshkin.net:5000', + // apiUrl: 'http://dockerapp.shyshkin.net:8080', + apiUrl: 'https://dockerapp.shyshkin.net', + publicUrls: ['/user/login', '/user/register', '/user/*/profile-image', '/user/*/profile-image/**'] +}; diff --git a/src/environments/environment.test.ts b/src/environments/environment.test.ts new file mode 100644 index 0000000..070437e --- /dev/null +++ b/src/environments/environment.test.ts @@ -0,0 +1,5 @@ +export const environment = { + production: false, + apiUrl: 'http://localhost:8080', + publicUrls: ['/user/login', '/user/register', '/user/*/profile-image', '/user/*/profile-image/**'] +}; diff --git a/src/environments/environment.ts b/src/environments/environment.ts new file mode 100644 index 0000000..6f5d24c --- /dev/null +++ b/src/environments/environment.ts @@ -0,0 +1,23 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false, + // apiUrl: 'https://dockerapp.shyshkin.net', + // apiUrl: 'https://portal-back-secure.shyshkin.net', + // apiUrl: 'http://portal-bean.shyshkin.net', + // apiUrl: 'http://supportportalbackend-env.eba-wfr5wya3.eu-north-1.elasticbeanstalk.com', + // apiUrl: 'http://support-portal.shyshkin.net:5000', + apiUrl: 'http://localhost:8080', + publicUrls: ['/user/login', '/user/register', '/user/*/profile-image', '/user/*/profile-image/**'] +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. diff --git a/src/index.html b/src/index.html new file mode 100644 index 0000000..702c5f1 --- /dev/null +++ b/src/index.html @@ -0,0 +1,18 @@ + + + + + + + + + Plurk – Tailwind CSS Multipurpose Landing Templates + + + + + + + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..3733b42 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,7 @@ +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; + +platformBrowserDynamic() + .bootstrapModule(AppModule) + .catch((err) => console.error(err)); diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..73e4fd5 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,57 @@ +/** @type {import('tailwindcss').Config} */ + +const plugin = require('tailwindcss/plugin'); +const rotateX = plugin(function ({ addUtilities }) { + addUtilities({ + '.rotate-y-180': { + transform: 'rotateY(180deg)', + }, + }); +}); +module.exports = { + content: ['./src/**/*.{html,ts}'], + darkMode: 'class', + theme: { + container: { + center: true, + padding: '1rem', + }, + screens: { + sm: '640px', + md: '768px', + lg: '1024px', + xl: '1142px', + }, + fontFamily: { + mulish: ['Mulish', 'sans-serif'], + reey: ['reey', 'sans-serif'], + }, + colors: { + transparent: 'transparent', + current: 'currentColor', + white: '#ffffff', + black: '#08111F', + primary: '#47BDFF', + secondary: '#B476E5', + gray: { + DEFAULT: '#7780A1', + dark: '#1C2331', + }, + }, + extend: { + animation: { + 'spin-slow': 'spin 5s linear infinite', + }, + typography: ({ theme }) => ({ + DEFAULT: { + css: { + color: theme('colors.gray'), + fontSize: '1.125rem', + }, + }, + }), + }, + }, + // eslint-disable-next-line no-undef + plugins: [require('@tailwindcss/line-clamp'), rotateX,require('@tailwindcss/typography')], +}; diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..7076a42 --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..4110b7a --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,30 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": false, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": ["ES2022", "dom"] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/tsconfig.spec.json b/tsconfig.spec.json new file mode 100644 index 0000000..354a710 --- /dev/null +++ b/tsconfig.spec.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": ["jasmine"], + "typeRoots": ["node_modules/@types"] + }, + "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] +}