From bd8abe96ad0d5ca3797126e63f9f8d191021ca88 Mon Sep 17 00:00:00 2001 From: Raul Steurer Date: Sun, 17 Sep 2023 10:35:31 +0200 Subject: [PATCH 1/8] chore: Initial setup --- .gitignore | 3 + README.md | 161 +- example/index.html | 14 - example/index.tsx | 14 - example/package.json | 26 - example/tsconfig.json | 3 - example/vite.config.js | 7 - package-lock.json | 12743 ++++++++++++++++ package.json | 50 +- .../CalculateCurrentStock.test.tsx | 75 + .../CalculateCurrentStock.tsx | 169 + src/components/CalculateCurrentStock/index.ts | 1 + .../CalculateCurrentStock/messages.de.ts | 14 + .../CalculateCurrentStock/messages.en.ts | 14 + src/components/Forestry/Forestry.test.tsx | 69 + src/components/Forestry/Forestry.tsx | 158 + src/components/Forestry/index.ts | 1 + src/components/Forestry/messages.de.ts | 8 + src/components/Forestry/messages.en.ts | 8 + .../OperationClass/OperationClass.test.tsx | 129 + .../OperationClass/OperationClass.tsx | 187 + src/components/OperationClass/index.ts | 1 + src/components/OperationClass/messages.de.ts | 11 + src/components/OperationClass/messages.en.ts | 11 + .../OperationClasses.test.tsx | 18 + .../OperationClasses/OperationClasses.tsx | 28 + src/components/OperationClasses/index.ts | 1 + .../yieldTables/at_marschall_fichteBruck.ts | 773 + .../at_marschall_fichteHochgebirge.ts | 943 ++ .../at_marschall_kieferLitschau.ts | 578 + src/constants/yieldTables/at_tirol_buche.ts | 616 + .../at_tirol_fichteKalkErtragsniveauMittel.ts | 1186 ++ ...at_tirol_fichteSilikatErtragsniveauHoch.ts | 1326 ++ ..._tirol_fichteSilikatErtragsniveauMittel.ts | 1191 ++ .../yieldTables/at_tirol_kieferSuedtirol.ts | 1076 ++ .../yieldTables/at_tirol_laercheSuedtirol.ts | 996 ++ src/constants/yieldTables/at_tirol_zirbe.ts | 1031 ++ .../ch_marschall_laercheSchweiz.ts | 758 + src/constants/yieldTables/cz_cerny_buche.ts | 567 + src/constants/yieldTables/cz_cerny_eiche.ts | 572 + src/constants/yieldTables/cz_cerny_fichte.ts | 592 + src/constants/yieldTables/cz_cerny_kiefer.ts | 597 + .../yieldTables/de_lockow_birkeNordOst.ts | 65 + .../de_marschall_bucheBraunschweig.ts | 498 + ...de_marschall_douglasieBadenWuerttemberg.ts | 643 + .../yieldTables/de_marschall_fichteBayern.ts | 788 + .../de_marschall_tanneWuerttemberg.ts | 528 + .../yieldTables/hu_marschall_eicheUngarn.ts | 428 + src/constants/yieldTables/index.ts | 68 + src/index.ts | 12 + src/index.tsx | 6 - src/models/AreaInHectare.ts | 6 + src/models/AreaInPercent.ts | 6 + src/models/FeasibilityStudyConfig.ts | 43 + src/models/YieldTable.ts | 18 + src/models/YieldTableEnum.ts | 40 + src/rootMessages.de.ts | 16 + src/rootMessages.en.ts | 16 + src/test/mocks/feasibilityStudyConfig.ts | 784 + src/test/setupTests.ts | 1 + src/test/test-utils.tsx | 24 + src/utils/getAreaInPercent.test.ts | 24 + src/utils/getAreaInPercent.ts | 25 + src/utils/getNormalStock.test.ts | 56 + src/utils/getNormalStock.ts | 59 + src/utils/getYieldClasses.test.ts | 65 + src/utils/getYieldClasses.ts | 47 + test/index.test.tsx | 11 - tsconfig.json | 8 +- 69 files changed, 30759 insertions(+), 252 deletions(-) delete mode 100644 example/index.html delete mode 100644 example/index.tsx delete mode 100644 example/package.json delete mode 100644 example/tsconfig.json delete mode 100644 example/vite.config.js create mode 100644 package-lock.json create mode 100644 src/components/CalculateCurrentStock/CalculateCurrentStock.test.tsx create mode 100644 src/components/CalculateCurrentStock/CalculateCurrentStock.tsx create mode 100644 src/components/CalculateCurrentStock/index.ts create mode 100644 src/components/CalculateCurrentStock/messages.de.ts create mode 100644 src/components/CalculateCurrentStock/messages.en.ts create mode 100644 src/components/Forestry/Forestry.test.tsx create mode 100644 src/components/Forestry/Forestry.tsx create mode 100644 src/components/Forestry/index.ts create mode 100644 src/components/Forestry/messages.de.ts create mode 100644 src/components/Forestry/messages.en.ts create mode 100644 src/components/OperationClass/OperationClass.test.tsx create mode 100644 src/components/OperationClass/OperationClass.tsx create mode 100644 src/components/OperationClass/index.ts create mode 100644 src/components/OperationClass/messages.de.ts create mode 100644 src/components/OperationClass/messages.en.ts create mode 100644 src/components/OperationClasses/OperationClasses.test.tsx create mode 100644 src/components/OperationClasses/OperationClasses.tsx create mode 100644 src/components/OperationClasses/index.ts create mode 100644 src/constants/yieldTables/at_marschall_fichteBruck.ts create mode 100644 src/constants/yieldTables/at_marschall_fichteHochgebirge.ts create mode 100644 src/constants/yieldTables/at_marschall_kieferLitschau.ts create mode 100644 src/constants/yieldTables/at_tirol_buche.ts create mode 100644 src/constants/yieldTables/at_tirol_fichteKalkErtragsniveauMittel.ts create mode 100644 src/constants/yieldTables/at_tirol_fichteSilikatErtragsniveauHoch.ts create mode 100644 src/constants/yieldTables/at_tirol_fichteSilikatErtragsniveauMittel.ts create mode 100644 src/constants/yieldTables/at_tirol_kieferSuedtirol.ts create mode 100644 src/constants/yieldTables/at_tirol_laercheSuedtirol.ts create mode 100644 src/constants/yieldTables/at_tirol_zirbe.ts create mode 100644 src/constants/yieldTables/ch_marschall_laercheSchweiz.ts create mode 100644 src/constants/yieldTables/cz_cerny_buche.ts create mode 100644 src/constants/yieldTables/cz_cerny_eiche.ts create mode 100644 src/constants/yieldTables/cz_cerny_fichte.ts create mode 100644 src/constants/yieldTables/cz_cerny_kiefer.ts create mode 100644 src/constants/yieldTables/de_lockow_birkeNordOst.ts create mode 100644 src/constants/yieldTables/de_marschall_bucheBraunschweig.ts create mode 100644 src/constants/yieldTables/de_marschall_douglasieBadenWuerttemberg.ts create mode 100644 src/constants/yieldTables/de_marschall_fichteBayern.ts create mode 100644 src/constants/yieldTables/de_marschall_tanneWuerttemberg.ts create mode 100644 src/constants/yieldTables/hu_marschall_eicheUngarn.ts create mode 100644 src/constants/yieldTables/index.ts create mode 100644 src/index.ts delete mode 100644 src/index.tsx create mode 100644 src/models/AreaInHectare.ts create mode 100644 src/models/AreaInPercent.ts create mode 100644 src/models/FeasibilityStudyConfig.ts create mode 100644 src/models/YieldTable.ts create mode 100644 src/models/YieldTableEnum.ts create mode 100644 src/rootMessages.de.ts create mode 100644 src/rootMessages.en.ts create mode 100644 src/test/mocks/feasibilityStudyConfig.ts create mode 100644 src/test/setupTests.ts create mode 100644 src/test/test-utils.tsx create mode 100644 src/utils/getAreaInPercent.test.ts create mode 100644 src/utils/getAreaInPercent.ts create mode 100644 src/utils/getNormalStock.test.ts create mode 100644 src/utils/getNormalStock.ts create mode 100644 src/utils/getYieldClasses.test.ts create mode 100644 src/utils/getYieldClasses.ts delete mode 100644 test/index.test.tsx diff --git a/.gitignore b/.gitignore index d4de8fc..9006e61 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,6 @@ node_modules .cache dist + +# Ignore the output of `npm pack` +treely-forest-management-*.tgz \ No newline at end of file diff --git a/README.md b/README.md index 8cd7ab1..66806ea 100644 --- a/README.md +++ b/README.md @@ -1,160 +1 @@ -# DTS React User Guide - -Congrats! You just saved yourself hours of work by bootstrapping this project with DTS. Let’s get you oriented with what’s here and how to use it. - -> This DTS setup is meant for developing React component libraries (not apps!) that can be published to NPM. If you’re looking to build a React-based app, you should use `create-react-app`, `razzle`, `nextjs`, `gatsby`, or `react-static`. - -> If you’re new to TypeScript and React, checkout [this handy cheatsheet](https://github.com/sw-yx/react-typescript-cheatsheet/) - -## Commands - -DTS scaffolds your new library inside `/src`, and also sets up a [Vite-based](https://vitejs.dev) playground for it inside `/example`. - -The recommended workflow is to run DTS in one terminal: - -```bash -npm start # or yarn start -``` - -This builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`. - -Then run the example inside another: - -```bash -cd example -npm i # or yarn to install dependencies -npm start # or yarn start -``` - -The default example imports and live reloads whatever is in `/dist`, so if you are seeing an out of date component, make sure DTS is running in watch mode like we recommend above. - -To do a one-off build, use `npm run build` or `yarn build`. - -To run tests, use `npm test` or `yarn test`. - -## Configuration - -Code quality is set up for you with `prettier`, `husky`, and `lint-staged`. Adjust the respective fields in `package.json` accordingly. - -### Jest - -Jest tests are set up to run with `npm test` or `yarn test`. - -### Bundle analysis - -Calculates the real cost of your library using [size-limit](https://github.com/ai/size-limit) with `npm run size` and visulize it with `npm run analyze`. - -#### Setup Files - -This is the folder structure we set up for you: - -```txt -/example - index.html - index.tsx # test your component here in a demo app - package.json - tsconfig.json -/src - index.tsx # EDIT THIS -/test - index.test.tsx # EDIT THIS -.gitignore -package.json -README.md # EDIT THIS -tsconfig.json -``` - -#### React Testing Library - -We do not set up `react-testing-library` for you yet, we welcome contributions and documentation on this. - -### Rollup - -DTS uses [Rollup](https://rollupjs.org) as a bundler and generates multiple rollup configs for various module formats and build settings. See [Optimizations](#optimizations) for details. - -### TypeScript - -`tsconfig.json` is set up to interpret `dom` and `esnext` types, as well as `react` for `jsx`. Adjust according to your needs. - -## Continuous Integration - -### GitHub Actions - -Two actions are added by default: - -- `main` which installs deps w/ cache, lints, tests, and builds on all pushes against a Node and OS matrix -- `size` which comments cost comparison of your library on every pull request using [`size-limit`](https://github.com/ai/size-limit) - -## Optimizations - -Please see the main `dts` [optimizations docs](https://github.com/weiran-zsd/dts-cli#optimizations). In particular, know that you can take advantage of development-only optimizations: - -```js -// ./types/index.d.ts -declare var __DEV__: boolean; - -// inside your code... -if (__DEV__) { - console.log('foo'); -} -``` - -You can also choose to install and use [invariant](https://github.com/weiran-zsd/dts-cli#invariant) and [warning](https://github.com/weiran-zsd/dts-cli#warning) functions. - -## Module Formats - -CJS, ESModules, and UMD module formats are supported. - -The appropriate paths are configured in `package.json` and `dist/index.js` accordingly. Please report if any issues are found. - -## Deploying the Example Playground - -The Playground is just a simple [Vite](https://vitejs.dev) app, you can deploy it anywhere you would normally deploy that. Here are some guidelines for **manually** deploying with the Netlify CLI (`npm i -g netlify-cli`): - -```bash -cd example # if not already in the example folder -npm run build # builds to dist -netlify deploy # deploy the dist folder -``` - -Alternatively, if you already have a git repo connected, you can set up continuous deployment with Netlify: - -```bash -netlify init -# build command: yarn build && cd example && yarn && yarn build -# directory to deploy: example/dist -# pick yes for netlify.toml -``` - -## Named Exports - -Per Palmer Group guidelines, [always use named exports.](https://github.com/palmerhq/typescript#exports) Code split inside your React app instead of your React library. - -## Including Styles - -There are many ways to ship styles, including with CSS-in-JS. DTS has no opinion on this, configure how you like. - -For vanilla CSS, you can include it at the root directory and add it to the `files` section in your `package.json`, so that it can be imported separately by your users and run through their bundler's loader. - -## Publishing to NPM - -We recommend using [np](https://github.com/sindresorhus/np). - -## Usage with Lerna - -When creating a new package with DTS within a project set up with Lerna, you might encounter a `Cannot resolve dependency` error when trying to run the `example` project. To fix that you will need to make changes to the `package.json` file _inside the `example` directory_. - -The problem is that due to the nature of how dependencies are installed in Lerna projects, the aliases in the example project's `package.json` might not point to the right place, as those dependencies might have been installed in the root of your Lerna project. - -Change the `alias` to point to where those packages are actually installed. This depends on the directory structure of your Lerna project, so the actual path might be different from the diff below. - -```diff - "alias": { -- "react": "../node_modules/react", -- "react-dom": "../node_modules/react-dom" -+ "react": "../../../node_modules/react", -+ "react-dom": "../../../node_modules/react-dom" - }, -``` - -An alternative to fixing this problem would be to remove aliases altogether and define the dependencies referenced as aliases as dev dependencies instead. [However, that might cause other problems.](https://github.com/formium/tsdx/issues/64) +# 🌲 @treely/forest-management diff --git a/example/index.html b/example/index.html deleted file mode 100644 index 3c6f91f..0000000 --- a/example/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - Playground - - - -
- - - diff --git a/example/index.tsx b/example/index.tsx deleted file mode 100644 index 73387c6..0000000 --- a/example/index.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import 'react-app-polyfill/ie11'; -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import { Thing } from '../.'; - -const App = () => { - return ( -
- -
- ); -}; - -ReactDOM.render(, document.getElementById('root')); diff --git a/example/package.json b/example/package.json deleted file mode 100644 index 93bd19f..0000000 --- a/example/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "example", - "private": true, - "version": "1.0.0", - "main": "index.js", - "license": "MIT", - "scripts": { - "start": "vite", - "build": "vite build" - }, - "dependencies": { - "react-app-polyfill": "^3.0.0" - }, - "alias": { - "react": "../node_modules/react", - "react-dom": "../node_modules/react-dom/profiling", - "scheduler/tracing": "../node_modules/scheduler/tracing-profiling" - }, - "devDependencies": { - "@types/react": "^18.0.31", - "@types/react-dom": "^18.0.11", - "vite": "latest", - "@vitejs/plugin-react": "latest", - "typescript": "^4" - } -} diff --git a/example/tsconfig.json b/example/tsconfig.json deleted file mode 100644 index 4205ce8..0000000 --- a/example/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "@tsconfig/vite-react/tsconfig.json" -} diff --git a/example/vite.config.js b/example/vite.config.js deleted file mode 100644 index 565a314..0000000 --- a/example/vite.config.js +++ /dev/null @@ -1,7 +0,0 @@ -import { defineConfig } from 'vite'; -import ReactPlugin from '@vitejs/plugin-react'; - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ReactPlugin({})], -}); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..00dd39d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,12743 @@ +{ + "name": "forest-management", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "forest-management", + "version": "0.1.0", + "license": "MIT", + "dependencies": { + "boemly": "^5.2.0" + }, + "devDependencies": { + "@size-limit/preset-small-lib": "^9.0.0", + "@testing-library/jest-dom": "^6.1.3", + "@testing-library/react": "^14.0.0", + "@tsconfig/recommended": "^1.0.3", + "@tsconfig/vite-react": "^2.0.1", + "@types/react": "^18.2.21", + "@types/react-dom": "^18.2.7", + "dts-cli": "^2.0.3", + "husky": "^8.0.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "size-limit": "^9.0.0", + "tslib": "^2.6.2", + "typescript": "^5.2.2" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": ">=16", + "react-intl": ">=5" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.1.tgz", + "integrity": "sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==", + "dev": true + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.22.15", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.22.20", + "@babel/helpers": "^7.22.15", + "@babel/parser": "^7.22.16", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.20", + "@babel/types": "^7.22.19", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.16", + "dev": true, + "license": "MIT", + "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.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "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.21.0-placeholder-for-preset-env.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", + "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "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-typescript": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "dev": true, + "license": "MIT", + "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" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.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-transform-async-to-generator": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-split-export-declaration": "^7.22.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.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@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-transform-for-of": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@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-transform-member-expression-literals": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@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-transform-numeric-separator": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@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-transform-optional-chaining": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@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-transform-property-literals": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", + "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.20", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@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.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@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-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.15", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.15", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.15", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.15", + "@babel/plugin-transform-modules-systemjs": "^7.22.11", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.22.15", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.10", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "@babel/types": "^7.22.19", + "babel-plugin-polyfill-corejs2": "^0.4.5", + "babel-plugin-polyfill-corejs3": "^0.8.3", + "babel-plugin-polyfill-regenerator": "^0.5.2", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/runtime": { + "version": "7.22.15", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.14.0", + "license": "MIT" + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.16", + "@babel/types": "^7.22.19", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.22.19", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.19", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@chakra-ui/accordion": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.3.1.tgz", + "integrity": "sha512-FSXRm8iClFyU+gVaXisOSEw0/4Q+qZbFRiuhIAkVU6Boj0FxAMrlo9a8AV5TuF77rgaHytCdHk0Ng+cyUijrag==", + "dependencies": { + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/alert": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.2.1.tgz", + "integrity": "sha512-GduIqqWCkvID8hxRlKw29Jp3w93r/E9S30J2F8By3ODon9Bhk1o/KVolcPiSiQvRwKNBJCd/rBTpPpLkB+s7pw==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/spinner": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/anatomy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.2.1.tgz", + "integrity": "sha512-bbmyWTGwQo+aHYDMtLIj7k7hcWvwE7GFVDViLFArrrPhfUTDdQTNqhiDp1N7eh2HLyjNhc2MKXV8s2KTQqkmTg==" + }, + "node_modules/@chakra-ui/avatar": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.3.0.tgz", + "integrity": "sha512-8gKSyLfygnaotbJbDMHDiJoF38OHXUYVme4gGxZ1fLnQEdPVEaIWfH+NndIjOM0z8S+YEFnT9KyGMUtvPrBk3g==", + "dependencies": { + "@chakra-ui/image": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/breadcrumb": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.2.0.tgz", + "integrity": "sha512-4cWCG24flYBxjruRi4RJREWTGF74L/KzI2CognAW/d/zWR0CjiScuJhf37Am3LFbCySP6WSoyBOtTIoTA4yLEA==", + "dependencies": { + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/breakpoint-utils": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/breakpoint-utils/-/breakpoint-utils-2.0.8.tgz", + "integrity": "sha512-Pq32MlEX9fwb5j5xx8s18zJMARNHlQZH2VH1RZgfgRDpp7DcEgtRW5AInfN5CfqdHLO1dGxA7I3MqEuL5JnIsA==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "node_modules/@chakra-ui/button": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.1.0.tgz", + "integrity": "sha512-95CplwlRKmmUXkdEp/21VkEWgnwcx2TOBG6NfYlsuLBDHSLlo5FKIiE2oSi4zXc4TLcopGcWPNcm/NDaSC5pvA==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/spinner": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/card": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/card/-/card-2.2.0.tgz", + "integrity": "sha512-xUB/k5MURj4CtPAhdSoXZidUbm8j3hci9vnc+eZJVDqhDOShNlD6QeniQNRPRys4lWAQLCbFcrwL29C8naDi6g==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/checkbox": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.3.1.tgz", + "integrity": "sha512-e6qL9ntVI/Ui6g0+iljUV2chX86YMsXafldpTHBNYDEoNLjGo1lqLFzq3y6zs3iuB3DHI0X7eAG3REmMVs0A0w==", + "dependencies": { + "@chakra-ui/form-control": "2.1.1", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/visually-hidden": "2.2.0", + "@zag-js/focus-visible": "0.16.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/clickable": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.1.0.tgz", + "integrity": "sha512-flRA/ClPUGPYabu+/GLREZVZr9j2uyyazCAUHAdrTUEdDYCr31SVGhgh7dgKdtq23bOvAQJpIJjw/0Bs0WvbXw==", + "dependencies": { + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/close-button": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.1.1.tgz", + "integrity": "sha512-gnpENKOanKexswSVpVz7ojZEALl2x5qjLYNqSQGbxz+aP9sOXPfUS56ebyBrre7T7exuWGiFeRwnM0oVeGPaiw==", + "dependencies": { + "@chakra-ui/icon": "3.2.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/color-mode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.2.0.tgz", + "integrity": "sha512-niTEA8PALtMWRI9wJ4LL0CSBDo8NBfLNp4GD6/0hstcm3IlbBHTVKxN6HwSaoNYfphDQLxCjT4yG+0BJA5tFpg==", + "dependencies": { + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/control-box": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.1.0.tgz", + "integrity": "sha512-gVrRDyXFdMd8E7rulL0SKeoljkLQiPITFnsyMO8EFHNZ+AHt5wK4LIguYVEq88APqAGZGfHFWXr79RYrNiE3Mg==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/counter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.1.0.tgz", + "integrity": "sha512-s6hZAEcWT5zzjNz2JIWUBzRubo9la/oof1W7EKZVVfPYHERnl5e16FmBC79Yfq8p09LQ+aqFKm/etYoJMMgghw==", + "dependencies": { + "@chakra-ui/number-utils": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/css-reset": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.3.0.tgz", + "integrity": "sha512-cQwwBy5O0jzvl0K7PLTLgp8ijqLPKyuEMiDXwYzl95seD3AoeuoCLyzZcJtVqaUZ573PiBdAbY/IlZcwDOItWg==", + "peerDependencies": { + "@emotion/react": ">=10.0.35", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/descendant": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.1.0.tgz", + "integrity": "sha512-VxCIAir08g5w27klLyi7PVo8BxhW4tgU/lxQyujkmi4zx7hT9ZdrcQLAted/dAa+aSIZ14S1oV0Q9lGjsAdxUQ==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/dom-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.1.0.tgz", + "integrity": "sha512-ZmF2qRa1QZ0CMLU8M1zCfmw29DmPNtfjR9iTo74U5FPr3i1aoAh7fbJ4qAlZ197Xw9eAW28tvzQuoVWeL5C7fQ==" + }, + "node_modules/@chakra-ui/editable": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-3.1.0.tgz", + "integrity": "sha512-j2JLrUL9wgg4YA6jLlbU88370eCRyor7DZQD9lzpY95tSOXpTljeg3uF9eOmDnCs6fxp3zDWIfkgMm/ExhcGTg==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-focus-on-pointer-down": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/event-utils": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/event-utils/-/event-utils-2.0.8.tgz", + "integrity": "sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw==" + }, + "node_modules/@chakra-ui/focus-lock": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.1.0.tgz", + "integrity": "sha512-EmGx4PhWGjm4dpjRqM4Aa+rCWBxP+Rq8Uc/nAVnD4YVqkEhBkrPTpui2lnjsuxqNaZ24fIAZ10cF1hlpemte/w==", + "dependencies": { + "@chakra-ui/dom-utils": "2.1.0", + "react-focus-lock": "^2.9.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/form-control": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.1.1.tgz", + "integrity": "sha512-LJPDzA1ITc3lhd/iDiINqGeca5bJD09PZAjePGEmmZyLPZZi8nPh/iii0RMxvKyJArsTBwXymCh+dEqK9aDzGQ==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/hooks": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.2.1.tgz", + "integrity": "sha512-RQbTnzl6b1tBjbDPf9zGRo9rf/pQMholsOudTxjy4i9GfTfz6kgp5ValGjQm2z7ng6Z31N1cnjZ1AlSzQ//ZfQ==", + "dependencies": { + "@chakra-ui/react-utils": "2.0.12", + "@chakra-ui/utils": "2.0.15", + "compute-scroll-into-view": "3.0.3", + "copy-to-clipboard": "3.3.3" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/icon": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.2.0.tgz", + "integrity": "sha512-xxjGLvlX2Ys4H0iHrI16t74rG9EBcpFvJ3Y3B7KMQTrnW34Kf7Da/UC8J67Gtx85mTHW020ml85SVPKORWNNKQ==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/image": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.1.0.tgz", + "integrity": "sha512-bskumBYKLiLMySIWDGcz0+D9Th0jPvmX6xnRMs4o92tT3Od/bW26lahmV2a2Op2ItXeCmRMY+XxJH5Gy1i46VA==", + "dependencies": { + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/input": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.1.1.tgz", + "integrity": "sha512-RQYzQ/qcak3eCuCfvSqc1kEFx0sCcnIeiSi7i0r70CeBnAUK/CP1/4Uz849FpKz81K4z2SikC9MkHPQd8ZpOwg==", + "dependencies": { + "@chakra-ui/form-control": "2.1.1", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/layout": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.3.1.tgz", + "integrity": "sha512-nXuZ6WRbq0WdgnRgLw+QuxWAHuhDtVX8ElWqcTK+cSMFg/52eVP47czYBE5F35YhnoW2XBwfNoNgZ7+e8Z01Rg==", + "dependencies": { + "@chakra-ui/breakpoint-utils": "2.0.8", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/lazy-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/lazy-utils/-/lazy-utils-2.0.5.tgz", + "integrity": "sha512-UULqw7FBvcckQk2n3iPO56TMJvDsNv0FKZI6PlUNJVaGsPbsYxK/8IQ60vZgaTVPtVcjY6BE+y6zg8u9HOqpyg==" + }, + "node_modules/@chakra-ui/live-region": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.1.0.tgz", + "integrity": "sha512-ZOxFXwtaLIsXjqnszYYrVuswBhnIHHP+XIgK1vC6DePKtyK590Wg+0J0slDwThUAd4MSSIUa/nNX84x1GMphWw==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/media-query": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.3.0.tgz", + "integrity": "sha512-IsTGgFLoICVoPRp9ykOgqmdMotJG0CnPsKvGQeSFOB/dZfIujdVb14TYxDU4+MURXry1MhJ7LzZhv+Ml7cr8/g==", + "dependencies": { + "@chakra-ui/breakpoint-utils": "2.0.8", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/menu": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.2.1.tgz", + "integrity": "sha512-lJS7XEObzJxsOwWQh7yfG4H8FzFPRP5hVPN/CL+JzytEINCSBvsCDHrYPQGp7jzpCi8vnTqQQGQe0f8dwnXd2g==", + "dependencies": { + "@chakra-ui/clickable": "2.1.0", + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-animation-state": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-focus-effect": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-outside-click": "2.2.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/modal": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.3.1.tgz", + "integrity": "sha512-TQv1ZaiJMZN+rR9DK0snx/OPwmtaGH1HbZtlYt4W4s6CzyK541fxLRTjIXfEzIGpvNW+b6VFuFjbcR78p4DEoQ==", + "dependencies": { + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/focus-lock": "2.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.1.0", + "aria-hidden": "^1.2.3", + "react-remove-scroll": "^2.5.6" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/number-input": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.1.1.tgz", + "integrity": "sha512-B4xwUPyr0NmjGN/dBhOmCD2xjX6OY1pr9GmGH3GQRozMsLAClD3TibwiZetwlyCp02qQqiFwEcZmUxaX88794Q==", + "dependencies": { + "@chakra-ui/counter": "2.1.0", + "@chakra-ui/form-control": "2.1.1", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-interval": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/number-utils": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-utils/-/number-utils-2.0.7.tgz", + "integrity": "sha512-yOGxBjXNvLTBvQyhMDqGU0Oj26s91mbAlqKHiuw737AXHt0aPllOthVUqQMeaYLwLCjGMg0jtI7JReRzyi94Dg==" + }, + "node_modules/@chakra-ui/object-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.1.0.tgz", + "integrity": "sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ==" + }, + "node_modules/@chakra-ui/pin-input": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.1.0.tgz", + "integrity": "sha512-x4vBqLStDxJFMt+jdAHHS8jbh294O53CPQJoL4g228P513rHylV/uPscYUHrVJXRxsHfRztQO9k45jjTYaPRMw==", + "dependencies": { + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/popover": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.2.1.tgz", + "integrity": "sha512-K+2ai2dD0ljvJnlrzesCDT9mNzLifE3noGKZ3QwLqd/K34Ym1W/0aL1ERSynrcG78NKoXS54SdEzkhCZ4Gn/Zg==", + "dependencies": { + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-animation-state": "2.1.0", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-focus-effect": "2.1.0", + "@chakra-ui/react-use-focus-on-pointer-down": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/popper": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.1.0.tgz", + "integrity": "sha512-ciDdpdYbeFG7og6/6J8lkTFxsSvwTdMLFkpVylAF6VNC22jssiWfquj2eyD4rJnzkRFPvIWJq8hvbfhsm+AjSg==", + "dependencies": { + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@popperjs/core": "^2.9.3" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/portal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.1.0.tgz", + "integrity": "sha512-9q9KWf6SArEcIq1gGofNcFPSWEyl+MfJjEUg/un1SMlQjaROOh3zYr+6JAwvcORiX7tyHosnmWC3d3wI2aPSQg==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/progress": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.2.0.tgz", + "integrity": "sha512-qUXuKbuhN60EzDD9mHR7B67D7p/ZqNS2Aze4Pbl1qGGZfulPW0PY8Rof32qDtttDQBkzQIzFGE8d9QpAemToIQ==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/provider": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.4.1.tgz", + "integrity": "sha512-u4g02V9tJ9vVYfkLz5jBn/bKlAyjLdg4Sh3f7uckmYVAZpOL/uUlrStyADrynu3tZhI+BE8XdmXC4zs/SYD7ow==", + "dependencies": { + "@chakra-ui/css-reset": "2.3.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/system": "2.6.1", + "@chakra-ui/utils": "2.0.15" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/radio": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.1.1.tgz", + "integrity": "sha512-5JXDVvMWsF/Cprh6BKfcTLbLtRcgD6Wl2zwbNU30nmKIE8+WUfqD7JQETV08oWEzhi3Ea4e5EHvyll2sGx8H3w==", + "dependencies": { + "@chakra-ui/form-control": "2.1.1", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@zag-js/focus-visible": "0.16.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.8.1.tgz", + "integrity": "sha512-UL9Rtj4DovP3+oVbI06gsdfyJJb+wmS2RYnGNXjW9tsjCyXxjlBw9TAUj0jyOfWe0+zd/4juL8+J+QCwmdhptg==", + "dependencies": { + "@chakra-ui/accordion": "2.3.1", + "@chakra-ui/alert": "2.2.1", + "@chakra-ui/avatar": "2.3.0", + "@chakra-ui/breadcrumb": "2.2.0", + "@chakra-ui/button": "2.1.0", + "@chakra-ui/card": "2.2.0", + "@chakra-ui/checkbox": "2.3.1", + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/control-box": "2.1.0", + "@chakra-ui/counter": "2.1.0", + "@chakra-ui/css-reset": "2.3.0", + "@chakra-ui/editable": "3.1.0", + "@chakra-ui/focus-lock": "2.1.0", + "@chakra-ui/form-control": "2.1.1", + "@chakra-ui/hooks": "2.2.1", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/image": "2.1.0", + "@chakra-ui/input": "2.1.1", + "@chakra-ui/layout": "2.3.1", + "@chakra-ui/live-region": "2.1.0", + "@chakra-ui/media-query": "3.3.0", + "@chakra-ui/menu": "2.2.1", + "@chakra-ui/modal": "2.3.1", + "@chakra-ui/number-input": "2.1.1", + "@chakra-ui/pin-input": "2.1.0", + "@chakra-ui/popover": "2.2.1", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/progress": "2.2.0", + "@chakra-ui/provider": "2.4.1", + "@chakra-ui/radio": "2.1.1", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/select": "2.1.1", + "@chakra-ui/skeleton": "2.1.0", + "@chakra-ui/skip-nav": "2.1.0", + "@chakra-ui/slider": "2.1.0", + "@chakra-ui/spinner": "2.1.0", + "@chakra-ui/stat": "2.1.1", + "@chakra-ui/stepper": "2.3.1", + "@chakra-ui/styled-system": "2.9.1", + "@chakra-ui/switch": "2.1.1", + "@chakra-ui/system": "2.6.1", + "@chakra-ui/table": "2.1.0", + "@chakra-ui/tabs": "3.0.0", + "@chakra-ui/tag": "3.1.1", + "@chakra-ui/textarea": "2.1.1", + "@chakra-ui/theme": "3.3.0", + "@chakra-ui/theme-utils": "2.0.20", + "@chakra-ui/toast": "7.0.1", + "@chakra-ui/tooltip": "2.3.0", + "@chakra-ui/transition": "2.1.0", + "@chakra-ui/utils": "2.0.15", + "@chakra-ui/visually-hidden": "2.2.0" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/react-children-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-children-utils/-/react-children-utils-2.0.6.tgz", + "integrity": "sha512-QVR2RC7QsOsbWwEnq9YduhpqSFnZGvjjGREV8ygKi8ADhXh93C8azLECCUVgRJF2Wc+So1fgxmjLcbZfY2VmBA==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-context": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.1.0.tgz", + "integrity": "sha512-iahyStvzQ4AOwKwdPReLGfDesGG+vWJfEsn0X/NoGph/SkN+HXtv2sCfYFFR9k7bb+Kvc6YfpLlSuLvKMHi2+w==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-env": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-3.1.0.tgz", + "integrity": "sha512-Vr96GV2LNBth3+IKzr/rq1IcnkXv+MLmwjQH6C8BRtn3sNskgDFD5vLkVXcEhagzZMCh8FR3V/bzZPojBOyNhw==", + "dependencies": { + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-types/-/react-types-2.0.7.tgz", + "integrity": "sha512-12zv2qIZ8EHwiytggtGvo4iLT0APris7T0qaAWqzpUGS0cdUtR8W+V1BJ5Ocq+7tA6dzQ/7+w5hmXih61TuhWQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-animation-state": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.1.0.tgz", + "integrity": "sha512-CFZkQU3gmDBwhqy0vC1ryf90BVHxVN8cTLpSyCpdmExUEtSEInSCGMydj2fvn7QXsz/za8JNdO2xxgJwxpLMtg==", + "dependencies": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-callback-ref": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.1.0.tgz", + "integrity": "sha512-efnJrBtGDa4YaxDzDE90EnKD3Vkh5a1t3w7PhnRQmsphLy3g2UieasoKTlT2Hn118TwDjIv5ZjHJW6HbzXA9wQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-controllable-state": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.1.0.tgz", + "integrity": "sha512-QR/8fKNokxZUs4PfxjXuwl0fj/d71WPrmLJvEpCTkHjnzu7LnYvzoe2wB867IdooQJL0G1zBxl0Dq+6W1P3jpg==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-disclosure": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.1.0.tgz", + "integrity": "sha512-Ax4pmxA9LBGMyEZJhhUZobg9C0t3qFE4jVF1tGBsrLDcdBeLR9fwOogIPY9Hf0/wqSlAryAimICbr5hkpa5GSw==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-event-listener": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.1.0.tgz", + "integrity": "sha512-U5greryDLS8ISP69DKDsYcsXRtAdnTQT+jjIlRYZ49K/XhUR/AqVZCK5BkR1spTDmO9H8SPhgeNKI70ODuDU/Q==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-focus-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.1.0.tgz", + "integrity": "sha512-xzVboNy7J64xveLcxTIJ3jv+lUJKDwRM7Szwn9tNzUIPD94O3qwjV7DDCUzN2490nSYDF4OBMt/wuDBtaR3kUQ==", + "dependencies": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-focus-on-pointer-down": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.1.0.tgz", + "integrity": "sha512-2jzrUZ+aiCG/cfanrolsnSMDykCAbv9EK/4iUyZno6BYb3vziucmvgKuoXbMPAzWNtwUwtuMhkby8rc61Ue+Lg==", + "dependencies": { + "@chakra-ui/react-use-event-listener": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-interval": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.1.0.tgz", + "integrity": "sha512-8iWj+I/+A0J08pgEXP1J1flcvhLBHkk0ln7ZvGIyXiEyM6XagOTJpwNhiu+Bmk59t3HoV/VyvyJTa+44sEApuw==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-latest-ref": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.1.0.tgz", + "integrity": "sha512-m0kxuIYqoYB0va9Z2aW4xP/5b7BzlDeWwyXCH6QpT2PpW3/281L3hLCm1G0eOUcdVlayqrQqOeD6Mglq+5/xoQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-merge-refs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.1.0.tgz", + "integrity": "sha512-lERa6AWF1cjEtWSGjxWTaSMvneccnAVH4V4ozh8SYiN9fSPZLlSG3kNxfNzdFvMEhM7dnP60vynF7WjGdTgQbQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-outside-click": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.2.0.tgz", + "integrity": "sha512-PNX+s/JEaMneijbgAM4iFL+f3m1ga9+6QK0E5Yh4s8KZJQ/bLwZzdhMz8J/+mL+XEXQ5J0N8ivZN28B82N1kNw==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-pan-event": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.1.0.tgz", + "integrity": "sha512-xmL2qOHiXqfcj0q7ZK5s9UjTh4Gz0/gL9jcWPA6GVf+A0Od5imEDa/Vz+533yQKWiNSm1QGrIj0eJAokc7O4fg==", + "dependencies": { + "@chakra-ui/event-utils": "2.0.8", + "@chakra-ui/react-use-latest-ref": "2.1.0", + "framesync": "6.1.2" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-previous": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.1.0.tgz", + "integrity": "sha512-pjxGwue1hX8AFcmjZ2XfrQtIJgqbTF3Qs1Dy3d1krC77dEsiCUbQ9GzOBfDc8pfd60DrB5N2tg5JyHbypqh0Sg==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-safe-layout-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.1.0.tgz", + "integrity": "sha512-Knbrrx/bcPwVS1TorFdzrK/zWA8yuU/eaXDkNj24IrKoRlQrSBFarcgAEzlCHtzuhufP3OULPkELTzz91b0tCw==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-size": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.1.0.tgz", + "integrity": "sha512-tbLqrQhbnqOjzTaMlYytp7wY8BW1JpL78iG7Ru1DlV4EWGiAmXFGvtnEt9HftU0NJ0aJyjgymkxfVGI55/1Z4A==", + "dependencies": { + "@zag-js/element-size": "0.10.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-timeout": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.1.0.tgz", + "integrity": "sha512-cFN0sobKMM9hXUhyCofx3/Mjlzah6ADaEl/AXl5Y+GawB5rgedgAcu2ErAgarEkwvsKdP6c68CKjQ9dmTQlJxQ==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-update-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.1.0.tgz", + "integrity": "sha512-ND4Q23tETaR2Qd3zwCKYOOS1dfssojPLJMLvUtUbW5M9uW1ejYWgGUobeAiOVfSplownG8QYMmHTP86p/v0lbA==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-utils": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-2.0.12.tgz", + "integrity": "sha512-GbSfVb283+YA3kA8w8xWmzbjNWk14uhNpntnipHCftBibl0lxtQ9YqMFQLwuFOO0U2gYVocszqqDWX+XNKq9hw==", + "dependencies": { + "@chakra-ui/utils": "2.0.15" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/select": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.1.1.tgz", + "integrity": "sha512-CERDATncv5w05Zo5/LrFtf1yKp1deyMUyDGv6eZvQG/etyukH4TstsuIHt/0GfNXrCF3CJLZ8lINzpv5wayVjQ==", + "dependencies": { + "@chakra-ui/form-control": "2.1.1", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/shared-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/shared-utils/-/shared-utils-2.0.5.tgz", + "integrity": "sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q==" + }, + "node_modules/@chakra-ui/skeleton": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.1.0.tgz", + "integrity": "sha512-JNRuMPpdZGd6zFVKjVQ0iusu3tXAdI29n4ZENYwAJEMf/fN0l12sVeirOxkJ7oEL0yOx2AgEYFSKdbcAgfUsAQ==", + "dependencies": { + "@chakra-ui/media-query": "3.3.0", + "@chakra-ui/react-use-previous": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/skip-nav": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/skip-nav/-/skip-nav-2.1.0.tgz", + "integrity": "sha512-Hk+FG+vadBSH0/7hwp9LJnLjkO0RPGnx7gBJWI4/SpoJf3e4tZlWYtwGj0toYY4aGKl93jVghuwGbDBEMoHDug==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/slider": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.1.0.tgz", + "integrity": "sha512-lUOBcLMCnFZiA/s2NONXhELJh6sY5WtbRykPtclGfynqqOo47lwWJx+VP7xaeuhDOPcWSSecWc9Y1BfPOCz9cQ==", + "dependencies": { + "@chakra-ui/number-utils": "2.0.7", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-latest-ref": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-pan-event": "2.1.0", + "@chakra-ui/react-use-size": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/spinner": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.1.0.tgz", + "integrity": "sha512-hczbnoXt+MMv/d3gE+hjQhmkzLiKuoTo42YhUG7Bs9OSv2lg1fZHW1fGNRFP3wTi6OIbD044U1P9HK+AOgFH3g==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/stat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.1.1.tgz", + "integrity": "sha512-LDn0d/LXQNbAn2KaR3F1zivsZCewY4Jsy1qShmfBMKwn6rI8yVlbvu6SiA3OpHS0FhxbsZxQI6HefEoIgtqY6Q==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/stepper": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/stepper/-/stepper-2.3.1.tgz", + "integrity": "sha512-ky77lZbW60zYkSXhYz7kbItUpAQfEdycT0Q4bkHLxfqbuiGMf8OmgZOQkOB9uM4v0zPwy2HXhe0vq4Dd0xa55Q==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/styled-system": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.9.1.tgz", + "integrity": "sha512-jhYKBLxwOPi9/bQt9kqV3ELa/4CjmNNruTyXlPp5M0v0+pDMUngPp48mVLoskm9RKZGE0h1qpvj/jZ3K7c7t8w==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5", + "csstype": "^3.0.11", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/switch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.1.1.tgz", + "integrity": "sha512-cOHIhW5AlLZSFENxFEBYTBniqiduOowa1WdzslP1Fd0usBFaD5iAgOY1Fvr7xKhE8nmzzeMCkPB3XBvUSWnawQ==", + "dependencies": { + "@chakra-ui/checkbox": "2.3.1", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/system": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.6.1.tgz", + "integrity": "sha512-P5Q/XRWy3f1pXJ7IxDkV+Z6AT7GJeR2JlBnQl109xewVQcBLWWMIp702fFMFw8KZ2ALB/aYKtWm5EmQMddC/tg==", + "dependencies": { + "@chakra-ui/color-mode": "2.2.0", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-utils": "2.0.12", + "@chakra-ui/styled-system": "2.9.1", + "@chakra-ui/theme-utils": "2.0.20", + "@chakra-ui/utils": "2.0.15", + "react-fast-compare": "3.2.2" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/table": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.1.0.tgz", + "integrity": "sha512-o5OrjoHCh5uCLdiUb0Oc0vq9rIAeHSIRScc2ExTC9Qg/uVZl2ygLrjToCaKfaaKl1oQexIeAcZDKvPG8tVkHyQ==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/tabs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-3.0.0.tgz", + "integrity": "sha512-6Mlclp8L9lqXmsGWF5q5gmemZXOiOYuh0SGT/7PgJVNPz3LXREXlXg2an4MBUD8W5oTkduCX+3KTMCwRrVrDYw==", + "dependencies": { + "@chakra-ui/clickable": "2.1.0", + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/tag": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-3.1.1.tgz", + "integrity": "sha512-Bdel79Dv86Hnge2PKOU+t8H28nm/7Y3cKd4Kfk9k3lOpUh4+nkSGe58dhRzht59lEqa4N9waCgQiBdkydjvBXQ==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/textarea": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.1.1.tgz", + "integrity": "sha512-28bpwgmXg3BzSpg8i1Ao9h7pHaE1j2mBBFJpWaqPgMhS0IHm0BQsqqyWU6PsxxJDvrC4HN6MTzrIL4C1RA1I0A==", + "dependencies": { + "@chakra-ui/form-control": "2.1.1", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/theme": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-3.3.0.tgz", + "integrity": "sha512-VHY2ax5Wqgfm83U/zYBk0GS0TGD8m41s/rxQgnEq8tU+ug1YZjvOZmtOq/VjfKP/bQraFhCt05zchcxXmDpEYg==", + "dependencies": { + "@chakra-ui/anatomy": "2.2.1", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/theme-tools": "2.1.1" + }, + "peerDependencies": { + "@chakra-ui/styled-system": ">=2.8.0" + } + }, + "node_modules/@chakra-ui/theme-tools": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.1.1.tgz", + "integrity": "sha512-n14L5L3ej3Zy+Xm/kDKO1G6/DkmieT7Li1C7NzMRcUj5C9YybQpyo7IZZ0BBUh3u+OVnKVhNC3d4P2NYDGRXmA==", + "dependencies": { + "@chakra-ui/anatomy": "2.2.1", + "@chakra-ui/shared-utils": "2.0.5", + "color2k": "^2.0.2" + }, + "peerDependencies": { + "@chakra-ui/styled-system": ">=2.0.0" + } + }, + "node_modules/@chakra-ui/theme-utils": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.20.tgz", + "integrity": "sha512-IkAzSmwBlRIZ3dN2InDz0tf9SldbckVkgwylCobSFmYP8lnMjykL8Lex1BBo9U8UQjZxEDVZ+Qw6SeayKRntOQ==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/styled-system": "2.9.1", + "@chakra-ui/theme": "3.3.0", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/toast": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-7.0.1.tgz", + "integrity": "sha512-V5JUhw6RZxbGRTijvd5k4iEMLCfbzTLNWbZLZhRZk10YvFfAP5OYfRCm68zpE/t3orN/f+4ZLL3P+Wb4E7oSmw==", + "dependencies": { + "@chakra-ui/alert": "2.2.1", + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-timeout": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/styled-system": "2.9.1", + "@chakra-ui/theme": "3.3.0" + }, + "peerDependencies": { + "@chakra-ui/system": "2.6.1", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/tooltip": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.3.0.tgz", + "integrity": "sha512-2s23f93YIij1qEDwIK//KtEu4LLYOslhR1cUhDBk/WUzyFR3Ez0Ee+HlqlGEGfGe9x77E6/UXPnSAKKdF/cpsg==", + "dependencies": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/transition": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.1.0.tgz", + "integrity": "sha512-orkT6T/Dt+/+kVwJNy7zwJ+U2xAZ3EU7M3XCs45RBvUnZDr/u9vdmaM/3D/rOpmQJWgQBwKPJleUXrYWUagEDQ==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/utils": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-2.0.15.tgz", + "integrity": "sha512-El4+jL0WSaYYs+rJbuYFDbjmfCcfGDmRY95GO4xwzit6YAPZBLcR65rOEwLps+XWluZTy1xdMrusg/hW0c1aAA==", + "dependencies": { + "@types/lodash.mergewith": "4.6.7", + "css-box-model": "1.2.1", + "framesync": "6.1.2", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/visually-hidden": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.2.0.tgz", + "integrity": "sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "dependencies": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", + "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/react": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", + "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", + "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", + "dependencies": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + }, + "node_modules/@emotion/styled": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", + "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/is-prop-valid": "^1.2.1", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.3", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.8.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.49.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@formatjs/ecma402-abstract": { + "version": "1.17.2", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.2.tgz", + "integrity": "sha512-k2mTh0m+IV1HRdU0xXM617tSQTi53tVR2muvYOsBeYcUgEAyxV1FOC7Qj279th3fBVQ+Dj6muvNJZcHSPNdbKg==", + "peer": true, + "dependencies": { + "@formatjs/intl-localematcher": "0.4.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/fast-memoize": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", + "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/icu-messageformat-parser": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.2.tgz", + "integrity": "sha512-nF/Iww7sc5h+1MBCDRm68qpHTCG4xvGzYs/x9HFcDETSGScaJ1Fcadk5U/NXjXeCtzD+DhN4BAwKFVclHfKMdA==", + "peer": true, + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.2", + "@formatjs/icu-skeleton-parser": "1.6.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/icu-skeleton-parser": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.2.tgz", + "integrity": "sha512-VtB9Slo4ZL6QgtDFJ8Injvscf0xiDd4bIV93SOJTBjUF4xe2nAWOoSjLEtqIG+hlIs1sNrVKAaFo3nuTI4r5ZA==", + "peer": true, + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/intl": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.9.2.tgz", + "integrity": "sha512-brettBil92sd8i4dHEc6by8mqp4NbRvR2A94dZK9pQuSghkoqn2TIvwuaetmMNsBXexv7hYsehNQPi1qqkdPig==", + "peer": true, + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.2", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.6.2", + "@formatjs/intl-displaynames": "6.5.2", + "@formatjs/intl-listformat": "7.4.2", + "intl-messageformat": "10.5.2", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "typescript": "^4.7 || 5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@formatjs/intl-displaynames": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.5.2.tgz", + "integrity": "sha512-uC2VBlz+WydGTDDpJwMTQuPH3CUpTricr91WH1QMfz5oEHg2sB7mUERcZONE/lu8MOe1jREIx4vBciZEVTqkmA==", + "peer": true, + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.2", + "@formatjs/intl-localematcher": "0.4.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/intl-listformat": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.4.2.tgz", + "integrity": "sha512-+6bSVudEQkf12Hh7kuKt8Xv/MyFlqdwA4V4NLnTZW8uYdF9RxlOELDD0rPaOc2++TMKIzI5o6XXwHPvpL6VrPA==", + "peer": true, + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.2", + "@formatjs/intl-localematcher": "0.4.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/intl-localematcher": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.2.tgz", + "integrity": "sha512-BGdtJFmaNJy5An/Zan4OId/yR9Ih1OojFjcduX/xOvq798OgWSyDtd6Qd5jqJXwJs1ipe4Fxu9+cshic5Ox2tA==", + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "dev": true, + "license": "ISC", + "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/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/reporters/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/reporters/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/reporters/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "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/resolve-uri": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@motionone/animation": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz", + "integrity": "sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==", + "dependencies": { + "@motionone/easing": "^10.15.1", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/dom": { + "version": "10.16.2", + "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.16.2.tgz", + "integrity": "sha512-bnuHdNbge1FutZXv+k7xub9oPWcF0hsu8y1HTH/qg6av58YI0VufZ3ngfC7p2xhMJMnoh0LXFma2EGTgPeCkeg==", + "dependencies": { + "@motionone/animation": "^10.15.1", + "@motionone/generators": "^10.15.1", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/easing": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.15.1.tgz", + "integrity": "sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==", + "dependencies": { + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/generators": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.15.1.tgz", + "integrity": "sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==", + "dependencies": { + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/types": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.15.1.tgz", + "integrity": "sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==" + }, + "node_modules/@motionone/utils": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.15.1.tgz", + "integrity": "sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==", + "dependencies": { + "@motionone/types": "^10.15.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "6.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + }, + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "24.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.27.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "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/@rollup/plugin-commonjs/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@rollup/plugin-json": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "5.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "magic-string": "^0.27.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.3", + "dev": true, + "license": "MIT", + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.x || ^3.x" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "dev": true, + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@size-limit/esbuild": { + "version": "9.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.19.2", + "nanoid": "^3.3.6" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "size-limit": "9.0.0" + } + }, + "node_modules/@size-limit/file": { + "version": "9.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "7.5.4" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "size-limit": "9.0.0" + } + }, + "node_modules/@size-limit/file/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@size-limit/file/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@size-limit/file/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/@size-limit/preset-small-lib": { + "version": "9.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@size-limit/esbuild": "9.0.0", + "@size-limit/file": "9.0.0", + "size-limit": "9.0.0" + }, + "peerDependencies": { + "size-limit": "9.0.0" + } + }, + "node_modules/@testing-library/dom": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", + "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.1.3.tgz", + "integrity": "sha512-YzpjRHoCBWPzpPNtg6gnhasqtE/5O4qz8WCwDEaxtfnPO6gkaLrnuXusrGSPyhIGPezr1HM7ZH0CFaUTY9PJEQ==", + "dev": true, + "dependencies": { + "@adobe/css-tools": "^4.3.0", + "@babel/runtime": "^7.9.2", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + }, + "peerDependencies": { + "@jest/globals": ">= 28", + "@types/jest": ">= 28", + "jest": ">= 28", + "vitest": ">= 0.32" + }, + "peerDependenciesMeta": { + "@jest/globals": { + "optional": true + }, + "@types/jest": { + "optional": true + }, + "jest": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/react": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", + "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/recommended": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/vite-react": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/aria-query": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hast": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.6.tgz", + "integrity": "sha512-47rJE80oqPmFdVDCD7IheXBrVdwuBgsYwoczFvKmwfo2Mzsnt+V9OONsYauFmICb6lQPpCuXYJWejBNs4pDJRg==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-YIQtIg4PKr7ZyqNPZObpxfHsHEmuB8dXCxd6qVcGuQVDK2bpsF7bYNnBJ4Nn7giuACZg+WewExgrtAJ3XnA4Xw==", + "peer": true, + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.5", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/js-cookie": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-2.2.7.tgz", + "integrity": "sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==" + }, + "node_modules/@types/jsdom": { + "version": "20.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.13", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.14.198", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.198.tgz", + "integrity": "sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==" + }, + "node_modules/@types/lodash.mergewith": { + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.7.tgz", + "integrity": "sha512-3m+lkO5CLRRYU0fhGRp7zbsGi6+BZj0uTVSwvcKU+nSlhjA9/QRNfuSGnD2mX6hQA7ZbmcCkzk5h4ZYGOtk14A==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.2.21", + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.5.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.8.tgz", + "integrity": "sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==" + }, + "node_modules/@types/yargs": { + "version": "17.0.24", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@xobotyi/scrollbar-width": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz", + "integrity": "sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==" + }, + "node_modules/@zag-js/dom-query": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@zag-js/dom-query/-/dom-query-0.16.0.tgz", + "integrity": "sha512-Oqhd6+biWyKnhKwFFuZrrf6lxBz2tX2pRQe6grUnYwO6HJ8BcbqZomy2lpOdr+3itlaUqx+Ywj5E5ZZDr/LBfQ==" + }, + "node_modules/@zag-js/element-size": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.10.5.tgz", + "integrity": "sha512-uQre5IidULANvVkNOBQ1tfgwTQcGl4hliPSe69Fct1VfYb2Fd0jdAcGzqQgPhfrXFpR62MxLPB7erxJ/ngtL8w==" + }, + "node_modules/@zag-js/focus-visible": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.16.0.tgz", + "integrity": "sha512-a7U/HSopvQbrDU4GLerpqiMcHKEkQkNPeDZJWz38cw/6Upunh41GjHetq5TB84hxyCaDzJ6q2nEdNoBQfC0FKA==", + "dependencies": { + "@zag-js/dom-query": "0.16.0" + } + }, + "node_modules/abab": { + "version": "2.0.6", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/acorn": { + "version": "8.10.0", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "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/ansi-colors": { + "version": "4.1.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "dev": true, + "license": "ISC" + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/asyncro": { + "version": "3.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.8.1", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-annotate-pure-calls": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@babel/core": "^6.0.0-0 || 7.x" + } + }, + "node_modules/babel-plugin-dev-expression": { + "version": "0.2.3", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "dev": true, + "license": "BSD-3-Clause", + "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-jest-hoist": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "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-plugin-transform-rename-import": { + "version": "2.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "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" + } + ], + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boemly": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boemly/-/boemly-5.2.0.tgz", + "integrity": "sha512-NipDp7wZzLrnmbnsYPjBiEoyJ+qdVaQ/DA5pzPIEK9xhnffRJZ3Pn8o6P9vqjoAD9ynNeV3ah8Oq3ESui5AVAA==", + "dependencies": { + "@chakra-ui/react": "^2.0.0", + "@emotion/react": "^11.7.1", + "@emotion/styled": "^11.6.0", + "framer-motion": "^7.3.6", + "markdown-to-jsx": "^7.1.6", + "phosphor-react": "^1.4.0", + "react-datepicker": "^4.8.0", + "react-syntax-highlighter": "^15.5.0", + "react-use": "^17.4.0" + }, + "engines": { + "node": ">=16 <=18" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.10", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "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" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes-iec": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "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", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001534", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "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/char-regex": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/co": { + "version": "4.6.0", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/color2k": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color2k/-/color2k-2.0.2.tgz", + "integrity": "sha512-kJhwH5nAwb34tmyuqq/lgjEKzlFXn1U99NlnB6Ws4qVaERcRUYeYP1cBw6BJ4vxaWStAUEef4WMr7WjOCnBt8w==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "node_modules/commondir": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/compute-scroll-into-view": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz", + "integrity": "sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "license": "MIT" + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/core-js-compat": { + "version": "3.32.2", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "license": "MIT", + "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/create-jest": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-box-model": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz", + "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==", + "dependencies": { + "tiny-invariant": "^1.0.6" + } + }, + "node_modules/css-in-js-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz", + "integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==", + "dependencies": { + "hyphenate-style-name": "^1.0.3" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true + }, + "node_modules/cssom": { + "version": "0.5.0", + "dev": true, + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.1.2", + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-urls": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "dev": true, + "license": "MIT" + }, + "node_modules/dedent": { + "version": "1.5.1", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-equal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.1", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/del/node_modules/globby": { + "version": "10.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/diff": { + "version": "4.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true + }, + "node_modules/domexception": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dts-cli": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.5", + "@babel/helper-module-imports": "^7.18.6", + "@babel/parser": "^7.20.5", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/preset-env": "^7.20.2", + "@babel/traverse": "^7.20.5", + "@rollup/plugin-babel": "^6.0.3", + "@rollup/plugin-commonjs": "^24.0.1", + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "^15.0.1", + "@rollup/plugin-replace": "^5.0.2", + "@rollup/plugin-terser": "^0.4.0", + "@types/jest": "^29.5.0", + "@typescript-eslint/eslint-plugin": "^5.47.0", + "@typescript-eslint/parser": "^5.47.0", + "ansi-escapes": "^4.3.2", + "asyncro": "^3.0.0", + "babel-jest": "^29.5.0", + "babel-plugin-annotate-pure-calls": "^0.4.0", + "babel-plugin-dev-expression": "^0.2.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "babel-plugin-transform-rename-import": "^2.3.0", + "camelcase": "^6.3.0", + "chalk": "^4.1.2", + "confusing-browser-globals": "^1.0.11", + "enquirer": "^2.3.6", + "eslint": "^8.37.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jest": "^27.2.1", + "eslint-plugin-jsx-a11y": "^6.6.1", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.31.11", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-testing-library": "^5.9.1", + "execa": "^4.1.0", + "figlet": "^1.5.2", + "fs-extra": "^10.1.0", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "jest-watch-typeahead": "^2.2.2", + "jpjs": "^1.2.1", + "lodash.merge": "^4.6.2", + "ora": "^5.4.1", + "pascal-case": "^3.1.2", + "postcss": "^8.4.20", + "prettier": "^2.8.1", + "progress-estimator": "^0.3.0", + "regenerator-runtime": "^0.13.9", + "rollup": "^3.20.0", + "rollup-plugin-delete": "^2.0.0", + "rollup-plugin-dts": "^5.3.0", + "rollup-plugin-typescript2": "^0.34.1", + "sade": "^1.8.1", + "semver": "^7.3.8", + "shelljs": "^0.8.5", + "sort-package-json": "^1.57.0", + "tiny-glob": "^0.2.9", + "ts-jest": "^29.0.5", + "ts-node": "^10.9.1", + "tslib": "^2.4.1", + "type-fest": "^2.19.0", + "typescript": "^5.0.2" + }, + "bin": { + "dts": "dist/index.js" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + } + }, + "node_modules/dts-cli/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/dts-cli/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/dts-cli/node_modules/type-fest": { + "version": "2.19.0", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dts-cli/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.523", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.13.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.22.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "dev": true, + "license": "MIT", + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.19.3", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.19.3", + "@esbuild/android-arm64": "0.19.3", + "@esbuild/android-x64": "0.19.3", + "@esbuild/darwin-arm64": "0.19.3", + "@esbuild/darwin-x64": "0.19.3", + "@esbuild/freebsd-arm64": "0.19.3", + "@esbuild/freebsd-x64": "0.19.3", + "@esbuild/linux-arm": "0.19.3", + "@esbuild/linux-arm64": "0.19.3", + "@esbuild/linux-ia32": "0.19.3", + "@esbuild/linux-loong64": "0.19.3", + "@esbuild/linux-mips64el": "0.19.3", + "@esbuild/linux-ppc64": "0.19.3", + "@esbuild/linux-riscv64": "0.19.3", + "@esbuild/linux-s390x": "0.19.3", + "@esbuild/linux-x64": "0.19.3", + "@esbuild/netbsd-x64": "0.19.3", + "@esbuild/openbsd-x64": "0.19.3", + "@esbuild/sunos-x64": "0.19.3", + "@esbuild/win32-arm64": "0.19.3", + "@esbuild/win32-ia32": "0.19.3", + "@esbuild/win32-x64": "0.19.3" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "8.49.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.49.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.28.1", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", + "has": "^1.0.3", + "is-core-module": "^2.13.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint-plugin-jest": { + "version": "27.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^5.10.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0", + "eslint": "^7.0.0 || ^8.0.0", + "jest": "*" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "dev": true, + "license": "MIT", + "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/eslint-plugin-testing-library": { + "version": "5.11.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/doctrine": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-loops": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-loops/-/fast-loops-1.1.3.tgz", + "integrity": "sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==" + }, + "node_modules/fast-shallow-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz", + "integrity": "sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==" + }, + "node_modules/fastest-stable-stringify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz", + "integrity": "sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==" + }, + "node_modules/fastq": { + "version": "1.15.0", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/figlet": { + "version": "1.6.0", + "dev": true, + "license": "MIT", + "bin": { + "figlet": "bin/index.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "dev": true, + "license": "MIT", + "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-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "dev": true, + "license": "ISC" + }, + "node_modules/focus-lock": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.11.6.tgz", + "integrity": "sha512-KSuV3ur4gf2KqMNoZx3nXNVhqCkn42GuTYCX4tXPEwf0MjpFQmNMiN6m7dXaUXgIoivL6/65agoUMg4RLS0Vbg==", + "dependencies": { + "tslib": "^2.0.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/framer-motion": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-7.10.3.tgz", + "integrity": "sha512-k2ccYeZNSpPg//HTaqrU+4pRq9f9ZpaaN7rr0+Rx5zA4wZLbk547wtDzge2db1sB+1mnJ6r59P4xb+aEIi/W+w==", + "dependencies": { + "@motionone/dom": "^10.15.3", + "hey-listen": "^1.0.8", + "tslib": "2.4.0" + }, + "optionalDependencies": { + "@emotion/is-prop-valid": "^0.8.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/framer-motion/node_modules/@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "optional": true, + "dependencies": { + "@emotion/memoize": "0.7.4" + } + }, + "node_modules/framer-motion/node_modules/@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "optional": true + }, + "node_modules/framer-motion/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/framesync": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", + "dependencies": { + "tslib": "2.4.0" + } + }, + "node_modules/framesync/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/git-hooks-list": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/fisker/git-hooks-list?sponsor=1" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globalyzer": { + "version": "0.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/globby": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globrex": { + "version": "0.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/gopd": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/has": { + "version": "1.0.3", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" + }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "engines": { + "node": "*" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/humanize-duration": { + "version": "3.29.0", + "dev": true, + "license": "Unlicense" + }, + "node_modules/husky": { + "version": "8.0.3", + "dev": true, + "license": "MIT", + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/hyphenate-style-name": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "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" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.2.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "license": "MIT", + "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", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "license": "ISC" + }, + "node_modules/inline-style-prefixer": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz", + "integrity": "sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==", + "dependencies": { + "css-in-js-utils": "^3.1.0", + "fast-loops": "^1.1.3" + } + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/intl-messageformat": { + "version": "10.5.2", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.2.tgz", + "integrity": "sha512-X4rlUNbgCc8/RdMhmvUEEZ38yNDn5S4r0u8n8yQH2OOdhsR46SmOuQsCKG35nRXmL5u2nxPsNN6qNhHoMm6FMQ==", + "peer": true, + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.2", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.6.2", + "tslib": "^2.4.0" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/is-reference": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "5.1.1", + "dev": true, + "license": "MIT", + "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/jest-changed-files/node_modules/get-stream": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/node_modules/human-signals": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.13", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/jest-util": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-watch-typeahead": { + "version": "2.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^6.0.0", + "chalk": "^5.2.0", + "jest-regex-util": "^29.0.0", + "jest-watcher": "^29.0.0", + "slash": "^5.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0 || ^29.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/ansi-escapes": { + "version": "6.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/ansi-regex": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "5.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/char-regex": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/type-fest": { + "version": "3.13.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jpjs": { + "version": "1.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "20.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.3", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/mimic-fn": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/onetime": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowlight": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", + "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", + "dependencies": { + "fault": "^1.0.0", + "highlight.js": "~10.7.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.27.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "dev": true, + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/markdown-to-jsx": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.3.2.tgz", + "integrity": "sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==", + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "react": ">= 0.14.0" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/nano-css": { + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/nano-css/-/nano-css-5.3.5.tgz", + "integrity": "sha512-vSB9X12bbNu4ALBu7nigJgRViZ6ja3OU7CeuiV1zMIbXOdmkLahgtPmh3GBOlDxbKY0CitqlPdOReGlBLSp+yg==", + "dependencies": { + "css-tree": "^1.1.2", + "csstype": "^3.0.6", + "fastest-stable-stringify": "^2.0.2", + "inline-style-prefixer": "^6.0.0", + "rtl-css-js": "^1.14.0", + "sourcemap-codec": "^1.4.8", + "stacktrace-js": "^2.0.2", + "stylis": "^4.0.6" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanospinner": { + "version": "1.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "picocolors": "^1.0.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.13", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/object.hasown": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "dev": true, + "license": "MIT", + "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/cli-spinners": { + "version": "2.9.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "license": "MIT", + "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/parse5": { + "version": "7.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/phosphor-react": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/phosphor-react/-/phosphor-react-1.4.1.tgz", + "integrity": "sha512-gO5j7U0xZrdglTAYDYPACU4xDOFBTJmptrrB/GeR+tHhCZF3nUMyGmV/0hnloKjuTrOmpSFlbfOY78H39rgjUQ==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.4.29", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "18.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/progress-estimator": { + "version": "0.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^2.4.1", + "cli-spinners": "^1.3.1", + "humanize-duration": "^3.15.3", + "log-update": "^2.3.0" + } + }, + "node_modules/progress-estimator/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/progress-estimator/node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/progress-estimator/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/progress-estimator/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/progress-estimator/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/progress-estimator/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/progress-estimator/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "dependencies": { + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.3", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "node_modules/querystringify": { + "version": "2.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "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" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-clientside-effect": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz", + "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==", + "dependencies": { + "@babel/runtime": "^7.12.13" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-datepicker": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-4.18.0.tgz", + "integrity": "sha512-0MYt3HmLbHVk1sw4v+RCbLAVg5TA3jWP7RyjZbo53PC+SEi+pjdgc92lB53ai/ENZaTOhbXmgni9GzvMrorMAw==", + "dependencies": { + "@popperjs/core": "^2.11.8", + "classnames": "^2.2.6", + "date-fns": "^2.30.0", + "prop-types": "^15.7.2", + "react-onclickoutside": "^6.13.0", + "react-popper": "^2.3.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17 || ^18", + "react-dom": "^16.9.0 || ^17 || ^18" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-focus-lock": { + "version": "2.9.5", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.9.5.tgz", + "integrity": "sha512-h6vrdgUbsH2HeD5I7I3Cx1PPrmwGuKYICS+kB9m+32X/9xHRrAbxgvaBpG7BFBN9h3tO+C3qX1QAVESmi4CiIA==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "focus-lock": "^0.11.6", + "prop-types": "^15.6.2", + "react-clientside-effect": "^1.2.6", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-intl": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.6.tgz", + "integrity": "sha512-8FiQ1GO6vm0wuO4B7yls9wIbINIo6ZH91geuwyR0VtwfhPc9+ONXKVfzwzkr/GZnwKW93nmH43MS+NSkmttIaA==", + "peer": true, + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.2", + "@formatjs/icu-messageformat-parser": "2.6.2", + "@formatjs/intl": "2.9.2", + "@formatjs/intl-displaynames": "6.5.2", + "@formatjs/intl-listformat": "7.4.2", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/react": "16 || 17 || 18", + "hoist-non-react-statics": "^3.3.2", + "intl-messageformat": "10.5.2", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "react": "^16.6.0 || 17 || 18", + "typescript": "^4.7 || 5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "license": "MIT" + }, + "node_modules/react-onclickoutside": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.13.0.tgz", + "integrity": "sha512-ty8So6tcUpIb+ZE+1HAhbLROvAIJYyJe/1vRrrcmW+jLsaM+/powDRqxzo6hSh9CuRZGSL1Q8mvcF5WRD93a0A==", + "funding": { + "type": "individual", + "url": "https://github.com/Pomax/react-onclickoutside/blob/master/FUNDING.md" + }, + "peerDependencies": { + "react": "^15.5.x || ^16.x || ^17.x || ^18.x", + "react-dom": "^15.5.x || ^16.x || ^17.x || ^18.x" + } + }, + "node_modules/react-popper": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.3.0.tgz", + "integrity": "sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==", + "dependencies": { + "react-fast-compare": "^3.0.1", + "warning": "^4.0.2" + }, + "peerDependencies": { + "@popperjs/core": "^2.0.0", + "react": "^16.8.0 || ^17 || ^18", + "react-dom": "^16.8.0 || ^17 || ^18" + } + }, + "node_modules/react-remove-scroll": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.6.tgz", + "integrity": "sha512-bO856ad1uDYLefgArk559IzUNeQ6SWH4QnrevIUjH+GczV56giDfl3h0Idptf2oIKxQmd1p9BN25jleKodTALg==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.4", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-syntax-highlighter": { + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz", + "integrity": "sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "highlight.js": "^10.4.1", + "lowlight": "^1.17.0", + "prismjs": "^1.27.0", + "refractor": "^3.6.0" + }, + "peerDependencies": { + "react": ">= 0.14.0" + } + }, + "node_modules/react-universal-interface": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/react-universal-interface/-/react-universal-interface-0.6.2.tgz", + "integrity": "sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==", + "peerDependencies": { + "react": "*", + "tslib": "*" + } + }, + "node_modules/react-use": { + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/react-use/-/react-use-17.4.0.tgz", + "integrity": "sha512-TgbNTCA33Wl7xzIJegn1HndB4qTS9u03QUwyNycUnXaweZkE4Kq2SB+Yoxx8qbshkZGYBDvUXbXWRUmQDcZZ/Q==", + "dependencies": { + "@types/js-cookie": "^2.2.6", + "@xobotyi/scrollbar-width": "^1.9.5", + "copy-to-clipboard": "^3.3.1", + "fast-deep-equal": "^3.1.3", + "fast-shallow-equal": "^1.0.0", + "js-cookie": "^2.2.1", + "nano-css": "^5.3.1", + "react-universal-interface": "^0.6.2", + "resize-observer-polyfill": "^1.5.1", + "screenfull": "^5.1.0", + "set-harmonic-interval": "^1.0.1", + "throttle-debounce": "^3.0.1", + "ts-easing": "^0.2.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/refractor": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz", + "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==", + "dependencies": { + "hastscript": "^6.0.0", + "parse-entities": "^2.0.0", + "prismjs": "~1.27.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/refractor/node_modules/prismjs": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", + "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "node_modules/resolve": { + "version": "1.22.6", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.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-cwd": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.29.2", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-delete": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "del": "^5.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/rollup-plugin-dts": { + "version": "5.3.1", + "dev": true, + "license": "LGPL-3.0", + "dependencies": { + "magic-string": "^0.30.2" + }, + "engines": { + "node": ">=v14.21.3" + }, + "funding": { + "url": "https://github.com/sponsors/Swatinem" + }, + "optionalDependencies": { + "@babel/code-frame": "^7.22.5" + }, + "peerDependencies": { + "rollup": "^3.0", + "typescript": "^4.1 || ^5.0" + } + }, + "node_modules/rollup-plugin-dts/node_modules/magic-string": { + "version": "0.30.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/rollup-plugin-typescript2": { + "version": "0.34.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^4.1.2", + "find-cache-dir": "^3.3.2", + "fs-extra": "^10.0.0", + "semver": "^7.3.7", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "rollup": ">=1.26.3", + "typescript": ">=2.4.0" + } + }, + "node_modules/rollup-plugin-typescript2/node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/rollup-plugin-typescript2/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/rollup-plugin-typescript2/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/rollup-plugin-typescript2/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/rtl-css-js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.16.1.tgz", + "integrity": "sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==", + "dependencies": { + "@babel/runtime": "^7.1.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "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" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "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" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/saxes": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/screenfull": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz", + "integrity": "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==", + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-harmonic-interval": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz", + "integrity": "sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==", + "engines": { + "node": ">=6.9" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "ISC" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/size-limit": { + "version": "9.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes-iec": "^3.1.1", + "chokidar": "^3.5.3", + "globby": "^11.1.0", + "lilconfig": "^2.1.0", + "nanospinner": "^1.1.0", + "picocolors": "^1.0.0" + }, + "bin": { + "size-limit": "bin.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/smob": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/sort-object-keys": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/sort-package-json": { + "version": "1.57.0", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-indent": "^6.0.0", + "detect-newline": "3.1.0", + "git-hooks-list": "1.0.3", + "globby": "10.0.0", + "is-plain-obj": "2.1.0", + "sort-object-keys": "^1.1.3" + }, + "bin": { + "sort-package-json": "cli.js" + } + }, + "node_modules/sort-package-json/node_modules/globby": { + "version": "10.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.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" + }, + "node_modules/space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/stack-generator": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz", + "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "node_modules/stacktrace-gps": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz", + "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==", + "dependencies": { + "source-map": "0.5.6", + "stackframe": "^1.3.4" + } + }, + "node_modules/stacktrace-gps/node_modules/source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stacktrace-js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz", + "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==", + "dependencies": { + "error-stack-parser": "^2.0.6", + "stack-generator": "^2.0.5", + "stacktrace-gps": "^3.0.4" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "dev": true, + "license": "MIT" + }, + "node_modules/terser": { + "version": "5.19.4", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/throttle-debounce": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz", + "integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "dev": true, + "license": "MIT", + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "node_modules/tmpl": { + "version": "1.0.5", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/ts-easing": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ts-easing/-/ts-easing-0.2.0.tgz", + "integrity": "sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==" + }, + "node_modules/ts-jest": { + "version": "29.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/ts-node": { + "version": "10.9.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrap-ansi": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/ws": { + "version": "8.14.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "dev": true, + "license": "MIT", + "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", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index 9381ef5..493b2cc 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { - "name": "forest-management", + "name": "@treely/forest-management", "version": "0.1.0", "license": "MIT", - "author": "Raul Steurer", + "author": "Tree.ly GmbH", "main": "dist/index.js", "module": "dist/forest-management.esm.js", "typings": "dist/index.d.ts", @@ -25,16 +25,23 @@ } }, "prettier": { - "printWidth": 80, - "semi": true, + "printWidth": 100, "singleQuote": true, "trailingComma": "es5" }, "jest": { - "testEnvironment": "jsdom" - }, - "peerDependencies": { - "react": ">=16" + "testEnvironment": "jsdom", + "setupFilesAfterEnv": [ + "./src/test/setupTests.ts" + ], + "moduleNameMapper": { + "^@/(.*)$": "/src/$1" + }, + "collectCoverageFrom": [ + "./src/**/*.{js,jsx,ts,tsx}", + "!**/src/test/**", + "!**/src/index.ts" + ] }, "engines": { "node": ">=12" @@ -48,5 +55,28 @@ "path": "dist/forest-management.esm.js", "limit": "10 KB" } - ] -} \ No newline at end of file + ], + "devDependencies": { + "@size-limit/preset-small-lib": "^9.0.0", + "@testing-library/jest-dom": "^6.1.3", + "@testing-library/react": "^14.0.0", + "@tsconfig/recommended": "^1.0.3", + "@tsconfig/vite-react": "^2.0.1", + "@types/react": "^18.2.21", + "@types/react-dom": "^18.2.7", + "dts-cli": "^2.0.3", + "husky": "^8.0.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "size-limit": "^9.0.0", + "tslib": "^2.6.2", + "typescript": "^5.2.2" + }, + "dependencies": { + "boemly": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16", + "react-intl": ">=5" + } +} diff --git a/src/components/CalculateCurrentStock/CalculateCurrentStock.test.tsx b/src/components/CalculateCurrentStock/CalculateCurrentStock.test.tsx new file mode 100644 index 0000000..f73fe48 --- /dev/null +++ b/src/components/CalculateCurrentStock/CalculateCurrentStock.test.tsx @@ -0,0 +1,75 @@ +import React from 'react'; +import { render, screen } from '@/test/test-utils'; +import { CalculateCurrentStockProps } from './CalculateCurrentStock'; +import { CalculateCurrentStock } from '.'; +import { + feasibilityStudyConfigMock, + feasibilityStudyNoHarvestingAmountsConfigMock, +} from '@/test/mocks/feasibilityStudyConfig'; + +const defaultProps: CalculateCurrentStockProps = { + config: feasibilityStudyConfigMock, +}; + +const setup = (props: Partial = {}) => { + const combinedProps = { ...defaultProps, ...props }; + render(); +}; + +describe('The CalculateCurrentStock component', () => { + it('displays the yearly increment', () => { + setup(); + + expect(screen.getByText('3.6 Vfm/ha/y')).toBeInTheDocument(); + }); + + it('displays the average yearly harvesting amount', () => { + setup(); + + expect(screen.getByText('5.7 Vfm/ha/y')).toBeInTheDocument(); + }); + + it('displays the stock in the year of the inventory', () => { + setup(); + + expect(screen.getByText('184.0 Vfm/ha')).toBeInTheDocument(); + }); + + it('displays the current stock', () => { + setup(); + + expect(screen.getByText('162.8 Vfm/ha')).toBeInTheDocument(); + }); + + it('displays n.a. if no harvesting amounts are provided', () => { + setup({ config: { ...feasibilityStudyNoHarvestingAmountsConfigMock } }); + + expect(screen.getByText('n.a. Vfm/ha/y')).toBeInTheDocument(); + expect(screen.getAllByText('184.0 Vfm/ha').length).toBe(2); + expect(screen.getByText('3.6 Vfm/ha/y')).toBeInTheDocument(); + }); + + it('displays a warning if one of the harvesting amounts is missing', () => { + setup({ + config: { + ...feasibilityStudyConfigMock, + harvestingAmounts: [ + { coniferousWood: 1, deciduousWood: 1, year: 2020 }, + { coniferousWood: 1, deciduousWood: 1, year: 2021 }, + ], + }, + }); + + expect( + screen.getByText('There are missing harvesting amounts for some years between 2012 and 2022') + ).toBeInTheDocument(); + }); + + it('displays an error if the current year is before the year of the inventory', () => { + setup({ config: { ...feasibilityStudyConfigMock, currentYear: 2011 } }); + + expect( + screen.getByText('The current year must be after the year of the stock at a point of time') + ).toBeInTheDocument(); + }); +}); diff --git a/src/components/CalculateCurrentStock/CalculateCurrentStock.tsx b/src/components/CalculateCurrentStock/CalculateCurrentStock.tsx new file mode 100644 index 0000000..a2f3243 --- /dev/null +++ b/src/components/CalculateCurrentStock/CalculateCurrentStock.tsx @@ -0,0 +1,169 @@ +import React from 'react'; +import { BoemlyAlert, Spacer } from 'boemly'; +import { useEffect, useMemo, useState } from 'react'; +import { FormattedMessage, useIntl } from 'react-intl'; +import FeasibilityStudyConfig from '@/models/FeasibilityStudyConfig'; + +const VFM_TO_EFM_FACTOR = 0.75; + +export interface CalculateCurrentStockProps { + config: FeasibilityStudyConfig; +} + +export const CalculateCurrentStock = ({ config }: CalculateCurrentStockProps): JSX.Element => { + const { formatNumber } = useIntl(); + const [allRequiredHarvestingAmounts, setAllRequiredHarvestingAmounts] = useState(true); + + const totalAreaInHectare = useMemo( + () => + config.operationClasses.reduce( + (acc, operationClass) => acc + operationClass.areaInHectare, + 0 + ), + [config.operationClasses] + ); + + const averageHarvestingAmountPerYearPerHectare = + useMemo( + () => + config.harvestingAmounts && + config.harvestingAmounts.length > 0 && + config.harvestingAmounts?.reduce( + (acc, harvestingAmount) => + acc + harvestingAmount.coniferousWood + harvestingAmount.deciduousWood, + 0 + ) / + config.harvestingAmounts.length / + VFM_TO_EFM_FACTOR / + totalAreaInHectare, + [config.harvestingAmounts, totalAreaInHectare] + ) || 0; + + useEffect(() => { + if (config.harvestingAmounts && config.harvestingAmounts.length > 0) { + for (let year = config.stockAtPointOfTime.year; year < config.currentYear; year++) { + if (!config.harvestingAmounts.some((harvestingAmount) => harvestingAmount.year === year)) { + setAllRequiredHarvestingAmounts(false); + } + } + } + }, [config.harvestingAmounts, config.stockAtPointOfTime.year, config.currentYear]); + + const numberOfYears = useMemo( + () => config.currentYear - config.stockAtPointOfTime.year, + [config.currentYear, config.stockAtPointOfTime] + ); + + const currentStock = useMemo( + () => + config.stockAtPointOfTime.stock - + numberOfYears * averageHarvestingAmountPerYearPerHectare + + numberOfYears * config.yearlyIncrement, + [ + config.stockAtPointOfTime, + numberOfYears, + averageHarvestingAmountPerYearPerHectare, + config.yearlyIncrement, + ] + ); + + if (config.stockAtPointOfTime.year > config.currentYear) { + return ( + } + status="error" + /> + ); + } + + return ( + <> + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + {!allRequiredHarvestingAmounts && ( + <> + + } + status="warning" + /> + + + )} + + ); +}; diff --git a/src/components/CalculateCurrentStock/index.ts b/src/components/CalculateCurrentStock/index.ts new file mode 100644 index 0000000..71d1ea4 --- /dev/null +++ b/src/components/CalculateCurrentStock/index.ts @@ -0,0 +1 @@ +export { CalculateCurrentStock } from './CalculateCurrentStock'; diff --git a/src/components/CalculateCurrentStock/messages.de.ts b/src/components/CalculateCurrentStock/messages.de.ts new file mode 100644 index 0000000..9344eb6 --- /dev/null +++ b/src/components/CalculateCurrentStock/messages.de.ts @@ -0,0 +1,14 @@ +const messagesDe = { + 'components.calculateCurrentStock.yearlyIncrement': 'Jahreszuwachs', + 'components.calculateCurrentStock.averageYearlyHarvestingAmount': + 'Durchschnittliche jährliche Nutzungsmenge', + 'components.calculateCurrentStock.stockInTheYearOfInventory': 'Vorrat im Inventurjahr', + 'components.calculateCurrentStock.currentStock': 'Aktueller Vorrat', + + 'components.calculateCurrentStock.warningDataMissing': + 'Für einige Jahre zwischen {from} und {to} fehlen Nutzungsmengen', + 'components.calculateCurrentStock.invalidYears': + 'Das aktuelle Jahr muss nach dem Inventurjahr liegen', +}; + +export default messagesDe; diff --git a/src/components/CalculateCurrentStock/messages.en.ts b/src/components/CalculateCurrentStock/messages.en.ts new file mode 100644 index 0000000..9c65696 --- /dev/null +++ b/src/components/CalculateCurrentStock/messages.en.ts @@ -0,0 +1,14 @@ +const messagesEn = { + 'components.calculateCurrentStock.yearlyIncrement': 'Yearly increment', + 'components.calculateCurrentStock.averageYearlyHarvestingAmount': + 'Average yearly harvesting amount', + 'components.calculateCurrentStock.stockInTheYearOfInventory': 'Stock in the year of inventory', + 'components.calculateCurrentStock.currentStock': 'Current stock', + + 'components.calculateCurrentStock.warningDataMissing': + 'There are missing harvesting amounts for some years between {from} and {to}', + 'components.calculateCurrentStock.invalidYears': + 'The current year must be after the year of the stock at a point of time', +}; + +export default messagesEn; diff --git a/src/components/Forestry/Forestry.test.tsx b/src/components/Forestry/Forestry.test.tsx new file mode 100644 index 0000000..21261f2 --- /dev/null +++ b/src/components/Forestry/Forestry.test.tsx @@ -0,0 +1,69 @@ +import React from 'react'; +import { render, screen } from '@/test/test-utils'; +import { Forestry } from '.'; +import { ForestryProps } from './Forestry'; +import { feasibilityStudyConfigMock } from '@/test/mocks/feasibilityStudyConfig'; + +const totalAreaOfFeasibilityStudyConfigMock = feasibilityStudyConfigMock.operationClasses.reduce( + (totalArea, operationClass) => totalArea + operationClass.areaInHectare, + 0 +); + +const defaultProps: ForestryProps = { + config: feasibilityStudyConfigMock, +}; + +const setup = (props: Partial = {}) => { + const combinedProps = { ...defaultProps, ...props }; + render(); +}; + +describe('The Forestry component', () => { + it('displays all the units', () => { + setup(); + + feasibilityStudyConfigMock.operationClasses.forEach((operationClass) => { + expect(screen.getByText(operationClass.name)).toBeInTheDocument(); + }); + }); + + it('displays all the areas in percent', () => { + setup(); + + feasibilityStudyConfigMock.operationClasses.forEach((operationClass) => { + expect( + screen.getByText( + `${((operationClass.areaInHectare / totalAreaOfFeasibilityStudyConfigMock) * 100).toFixed( + 1 + )}%` + ) + ).toBeInTheDocument(); + }); + }); + + it('displays all the areas in hectare', () => { + setup(); + + feasibilityStudyConfigMock.operationClasses.forEach((operationClass) => { + expect(screen.getByText(`${operationClass.areaInHectare.toFixed(1)} ha`)).toBeInTheDocument(); + }); + }); + + it('displays the total area in percent', () => { + setup(); + + expect(screen.getByText('100.0%')).toBeInTheDocument(); + }); + + it('displays the total area in hectare', () => { + setup(); + + expect(screen.getByText(`3,343.0 ha`)).toBeInTheDocument(); + }); + + it('displays the total normal stock', () => { + setup(); + + expect(screen.getByText('209.8 Vfm/ha')).toBeInTheDocument(); + }); +}); diff --git a/src/components/Forestry/Forestry.tsx b/src/components/Forestry/Forestry.tsx new file mode 100644 index 0000000..16e9a5a --- /dev/null +++ b/src/components/Forestry/Forestry.tsx @@ -0,0 +1,158 @@ +import React, { useMemo } from 'react'; +import { FormattedMessage, FormattedNumber, useIntl } from 'react-intl'; +import getAreaInPercent from '@/utils/getAreaInPercent'; +import FeasibilityStudyConfig from '@/models/FeasibilityStudyConfig'; +import getNormalStock from '@/utils/getNormalStock'; +import yieldTables from '@/constants/yieldTables'; + +export interface ForestryProps { + config: FeasibilityStudyConfig; +} + +export const Forestry = ({ config }: ForestryProps): JSX.Element => { + const { formatNumber } = useIntl(); + + const operationClassWithAreaInPercent = useMemo( + () => getAreaInPercent(config.operationClasses), + [config.operationClasses] + ); + + const totalAreaInPercent = useMemo( + () => operationClassWithAreaInPercent.reduce((acc, unit) => acc + unit.areaInPercent, 0), + [operationClassWithAreaInPercent] + ); + + const normalStocksPerOperationClass = useMemo( + () => + config.operationClasses.map((operationClass) => { + const normalStocksPerSpecies = operationClass.listOfSpecies.map((species) => + getNormalStock( + yieldTables[species.yieldTable], + species.siteProductivity, + operationClass.rotationPeriod + ) + ); + const areaInPercentPerSpecies = getAreaInPercent(operationClass.listOfSpecies); + + return normalStocksPerSpecies.reduce( + (acc, normalStock, index) => + acc + normalStock * areaInPercentPerSpecies[index].areaInPercent, + 0 + ); + }), + [config.operationClasses] + ); + + // This is not the sum of all normal stocks, but the sum of all normal stocks weighted by the area in percent. + const totalNormalStock = useMemo( + () => + operationClassWithAreaInPercent.reduce( + (acc, unitWithAreaInPercent, index) => + acc + normalStocksPerOperationClass[index] * unitWithAreaInPercent.areaInPercent, + 0 + ), + [normalStocksPerOperationClass, operationClassWithAreaInPercent] + ); + + const totalAreaInHectare = useMemo( + () => + config.operationClasses.reduce( + (acc, operationClass) => acc + operationClass.areaInHectare, + 0 + ), + [config.operationClasses] + ); + + return ( + + + + + + + + + + + {config.operationClasses.map((operationClass, index) => ( + + + + + + + ))} + + + + + + + + +
+ + + + + + + +
{operationClass.name} + + + + + +
+ + + + + + +
+ ); +}; diff --git a/src/components/Forestry/index.ts b/src/components/Forestry/index.ts new file mode 100644 index 0000000..7f567ac --- /dev/null +++ b/src/components/Forestry/index.ts @@ -0,0 +1 @@ +export { Forestry } from './Forestry'; diff --git a/src/components/Forestry/messages.de.ts b/src/components/Forestry/messages.de.ts new file mode 100644 index 0000000..1bb0b60 --- /dev/null +++ b/src/components/Forestry/messages.de.ts @@ -0,0 +1,8 @@ +const messagesDe = { + 'components.forestry.operationClass': 'Betriebsklasse', + 'components.forestry.area': 'Fläche', + 'components.forestry.areaDistribution': 'Flächenverteilung', + 'components.forestry.normalStock': 'Normalvorrat', +}; + +export default messagesDe; diff --git a/src/components/Forestry/messages.en.ts b/src/components/Forestry/messages.en.ts new file mode 100644 index 0000000..96d6b4d --- /dev/null +++ b/src/components/Forestry/messages.en.ts @@ -0,0 +1,8 @@ +const messagesEn = { + 'components.forestry.operationClass': 'Operation class', + 'components.forestry.area': 'Area', + 'components.forestry.areaDistribution': 'Area distribution', + 'components.forestry.normalStock': 'Normal stock', +}; + +export default messagesEn; diff --git a/src/components/OperationClass/OperationClass.test.tsx b/src/components/OperationClass/OperationClass.test.tsx new file mode 100644 index 0000000..54ab1c4 --- /dev/null +++ b/src/components/OperationClass/OperationClass.test.tsx @@ -0,0 +1,129 @@ +import React from 'react'; +import { OperationClass } from '.'; +import { render, screen } from '@/test/test-utils'; +import YieldTableEnum from '@/models/YieldTableEnum'; +import { OperationClassProps } from './OperationClass'; + +const speciesWithAreaInPercent = [ + { + title: 'Fichte+sonstiges Nadelholz', + areaInPercent: 0.78, + siteProductivity: 7.1, + yieldTable: YieldTableEnum.AT_TIROL_FichteKalkErtragsniveauMittel, + }, + { + title: 'Lärche', + areaInPercent: 0.21, + siteProductivity: 5.4, + yieldTable: YieldTableEnum.AT_TIROL_LaercheSuedtirol, + }, + { + title: 'Laubholz', + areaInPercent: 0.01, + siteProductivity: 7, + yieldTable: YieldTableEnum.AT_TIROL_Buche, + }, +]; + +const speciesWithAreaInHectare = [ + { + title: 'Fichte+sonstiges Nadelholz', + areaInHectare: 10, + siteProductivity: 7.1, + yieldTable: YieldTableEnum.AT_TIROL_FichteKalkErtragsniveauMittel, + }, + { + title: 'Lärche', + areaInHectare: 2, + siteProductivity: 5.4, + yieldTable: YieldTableEnum.AT_TIROL_LaercheSuedtirol, + }, + { + title: 'Laubholz', + areaInHectare: 1, + siteProductivity: 7, + yieldTable: YieldTableEnum.AT_TIROL_Buche, + }, +]; + +const defaultProps: OperationClassProps = { + rotationPeriod: 130, + listOfSpecies: speciesWithAreaInPercent, +}; + +const setup = (props: Partial = {}) => { + const combinedProps = { ...defaultProps, ...props }; + render(); +}; + +describe('The OperationClass component', () => { + it('displays all tree species', () => { + setup(); + + expect(screen.getByText('Fichte+sonstiges Nadelholz')).toBeInTheDocument(); + expect(screen.getByText('Lärche')).toBeInTheDocument(); + expect(screen.getByText('Laubholz')).toBeInTheDocument(); + }); + + it('displays the distribution of the area and site productivity for each tree species', () => { + setup(); + + speciesWithAreaInPercent.forEach((species) => { + expect(screen.getByText(`${(species.areaInPercent * 100).toFixed(1)}%`)).toBeInTheDocument(); + expect(screen.getByText(`${species.siteProductivity.toFixed(1)}`)).toBeInTheDocument(); + }); + }); + + it('displays the absolute area and site productivity for each tree species if given', () => { + setup({ listOfSpecies: speciesWithAreaInHectare }); + + speciesWithAreaInHectare.forEach((species) => { + expect(screen.getByText(`${species.areaInHectare.toFixed(1)} ha`)).toBeInTheDocument(); + }); + }); + + it('displays the absolute areas for each tree species if given', () => { + setup({ listOfSpecies: speciesWithAreaInHectare }); + + speciesWithAreaInHectare.forEach((species) => { + expect(screen.getByText(`${species.areaInHectare.toFixed(1)} ha`)).toBeInTheDocument(); + }); + }); + + it('displays the normal stock for each tree species', () => { + setup(); + + expect(screen.getByText('278.0 Vfm/ha')).toBeInTheDocument(); + expect(screen.getByText('211.8 Vfm/ha')).toBeInTheDocument(); + expect(screen.getByText('285.5 Vfm/ha')).toBeInTheDocument(); + }); + + it('displays the total area in hectare', () => { + setup({ listOfSpecies: speciesWithAreaInHectare }); + + const totalArea = speciesWithAreaInHectare.reduce( + (acc, species) => acc + species.areaInHectare, + 0 + ); + + expect(screen.getByText(`${totalArea.toFixed(1)} ha`)).toBeInTheDocument(); + }); + + it('displays the total area in percent', () => { + setup(); + + const totalArea = speciesWithAreaInPercent.reduce( + (acc, species) => acc + species.areaInPercent, + 0 + ); + + expect(screen.getByText(`${(totalArea * 100).toFixed(1)}%`)).toBeInTheDocument(); + }); + + it('displays a total normal stock', () => { + setup(); + + expect(screen.getByText('100.0%')).toBeInTheDocument(); + expect(screen.getByText('264.2 Vfm/ha')).toBeInTheDocument(); + }); +}); diff --git a/src/components/OperationClass/OperationClass.tsx b/src/components/OperationClass/OperationClass.tsx new file mode 100644 index 0000000..5eccc19 --- /dev/null +++ b/src/components/OperationClass/OperationClass.tsx @@ -0,0 +1,187 @@ +import React from 'react'; +import { useMemo } from 'react'; +import { FormattedMessage, FormattedNumber, useIntl } from 'react-intl'; +import yieldTables from '@/constants/yieldTables'; +import AreaInHectare from '@/models/AreaInHectare'; +import AreaInPercent from '@/models/AreaInPercent'; +import YieldTableEnum from '@/models/YieldTableEnum'; +import getAreaInPercent from '@/utils/getAreaInPercent'; +import getNormalStock from '@/utils/getNormalStock'; + +interface Species { + /** Free text title of the species */ + title: string; + /** Site productivity (Bonität) of the species */ + siteProductivity: number; + /** Yield table (Ertragstafel) to use for the species */ + yieldTable: YieldTableEnum; +} + +interface SpeciesWithPercentageArea extends Species, AreaInPercent {} + +interface SpeciesWithAreaInHectare extends Species, AreaInHectare {} + +export interface OperationClassProps { + rotationPeriod: number; + listOfSpecies: SpeciesWithPercentageArea[] | SpeciesWithAreaInHectare[]; +} + +export const OperationClass: React.FC = ({ + rotationPeriod, + listOfSpecies, +}: OperationClassProps) => { + const { formatNumber } = useIntl(); + + const areasInPercentPerSpecies = useMemo(() => getAreaInPercent(listOfSpecies), [listOfSpecies]); + + const normalStocks = useMemo( + () => + listOfSpecies.map((species) => + getNormalStock(yieldTables[species.yieldTable], species.siteProductivity, rotationPeriod) + ), + [listOfSpecies, rotationPeriod] + ); + + const hasAreaInHectare: boolean = useMemo( + () => listOfSpecies[0]?.hasOwnProperty('areaInHectare'), + [listOfSpecies] + ); + + return ( + <> + + + {' '} + + + + + + + {hasAreaInHectare && ( + + )} + + + + + + + {listOfSpecies.map((species, index) => ( + + + + {hasAreaInHectare && ( + + )} + + + + + ))} + + + + + + )} + + + + +
+ + + + + + + + + +
{species.title} + + {yieldTables[species.yieldTable].meta.title} + + + + + + + + + +
+ + + {hasAreaInHectare && ( + + sum + value.areaInHectare, + 0 + ), + { + minimumFractionDigits: 1, + maximumFractionDigits: 1, + } + ), + }} + /> + + sum + value.areaInPercent, + 0 + )} + style="percent" + minimumFractionDigits={1} + maximumFractionDigits={1} + /> + + + + sum + value * areasInPercentPerSpecies[index].areaInPercent, + 0 + ), + { minimumFractionDigits: 1, maximumFractionDigits: 1 } + ), + }} + /> +
+ + ); +}; diff --git a/src/components/OperationClass/index.ts b/src/components/OperationClass/index.ts new file mode 100644 index 0000000..c95c30c --- /dev/null +++ b/src/components/OperationClass/index.ts @@ -0,0 +1 @@ +export { OperationClass } from './OperationClass'; diff --git a/src/components/OperationClass/messages.de.ts b/src/components/OperationClass/messages.de.ts new file mode 100644 index 0000000..5a871fd --- /dev/null +++ b/src/components/OperationClass/messages.de.ts @@ -0,0 +1,11 @@ +const messages = { + 'components.operationClass.rotationPeriod': 'Umtriebszeit:', + 'components.operationClass.siteProductivity': 'Bonität', + 'components.operationClass.yieldTable': 'Ertragstafel', + 'components.operationClass.areas': 'Flächen', + 'components.operationClass.distribution': 'Verteilung', + 'components.operationClass.normalStock': 'Normalvorrat', + 'components.operationClass.total': 'Gesamt', +}; + +export default messages; diff --git a/src/components/OperationClass/messages.en.ts b/src/components/OperationClass/messages.en.ts new file mode 100644 index 0000000..2e28571 --- /dev/null +++ b/src/components/OperationClass/messages.en.ts @@ -0,0 +1,11 @@ +const messages = { + 'components.operationClass.rotationPeriod': 'Rotation Period:', + 'components.operationClass.siteProductivity': 'Site Productivity', + 'components.operationClass.yieldTable': 'Yield Table', + 'components.operationClass.areas': 'Areas', + 'components.operationClass.distribution': 'Distribution', + 'components.operationClass.normalStock': 'Normal Stock', + 'components.operationClass.total': 'Total', +}; + +export default messages; diff --git a/src/components/OperationClasses/OperationClasses.test.tsx b/src/components/OperationClasses/OperationClasses.test.tsx new file mode 100644 index 0000000..fe2e6f1 --- /dev/null +++ b/src/components/OperationClasses/OperationClasses.test.tsx @@ -0,0 +1,18 @@ +import React from 'react'; +import { render, screen } from '@/test/test-utils'; +import { OperationClasses } from '.'; +import { feasibilityStudyConfigMock } from '@/test/mocks/feasibilityStudyConfig'; + +const setup = () => { + render(); +}; + +describe('The OperationClasses component', () => { + it('displays all the operation classes', () => { + setup(); + + feasibilityStudyConfigMock.operationClasses.forEach((operationClass) => { + expect(screen.getByText(operationClass.name)).toBeInTheDocument(); + }); + }); +}); diff --git a/src/components/OperationClasses/OperationClasses.tsx b/src/components/OperationClasses/OperationClasses.tsx new file mode 100644 index 0000000..1b1c308 --- /dev/null +++ b/src/components/OperationClasses/OperationClasses.tsx @@ -0,0 +1,28 @@ +import React from 'react'; +import { Box, Heading, Spacer } from 'boemly'; +import FeasibilityStudyConfig from '@/models/FeasibilityStudyConfig'; +import { OperationClass } from '@/components/OperationClass'; + +export interface OperationClassesProps { + config: FeasibilityStudyConfig; +} + +export const OperationClasses = ({ config }: OperationClassesProps): JSX.Element => { + return ( + <> + + {config.operationClasses.map((operationClass, index) => { + return ( + + {operationClass.name} + + + + ); + })} + + ); +}; diff --git a/src/components/OperationClasses/index.ts b/src/components/OperationClasses/index.ts new file mode 100644 index 0000000..9eeafd3 --- /dev/null +++ b/src/components/OperationClasses/index.ts @@ -0,0 +1 @@ +export { OperationClasses } from './OperationClasses'; diff --git a/src/constants/yieldTables/at_marschall_fichteBruck.ts b/src/constants/yieldTables/at_marschall_fichteBruck.ts new file mode 100644 index 0000000..3c068a3 --- /dev/null +++ b/src/constants/yieldTables/at_marschall_fichteBruck.ts @@ -0,0 +1,773 @@ +import YieldTable from '@/models/YieldTable'; + +const at_marschall_fichteBruck: YieldTable = { + meta: { + title: 'Fichte Bruck', + author: 'Dipl.-Ing. Dr. Julius Marschall', + copyright: + '© 1975 Österreichischer Agrarverlag Druck- und Verlagsges.m.b.H. Nfg. KG, Sturzgasse 1A, A-1141 Wien, E-Mail: buch@avbuch.at, Internet: www.avbuch.at', + source: + '1975, Julius Marschall: Hilfstafeln für die Forsteinrichtung; Neunte Auflage; Österreichischer Agrarverlag', + sourceLink: + 'https://www.avbuch-shop.at/landwirtschaft/lehrbuecher/1347/hilfstafeln-fuer-die-forsteinrichtung', + }, + rows: [ + { + yieldClass: 14, + age: 20, + stock: 120, + }, + { + yieldClass: 14, + age: 30, + stock: 261, + }, + { + yieldClass: 14, + age: 40, + stock: 401, + }, + { + yieldClass: 14, + age: 50, + stock: 536, + }, + { + yieldClass: 14, + age: 60, + stock: 650, + }, + { + yieldClass: 14, + age: 70, + stock: 753, + }, + { + yieldClass: 14, + age: 80, + stock: 841, + }, + { + yieldClass: 14, + age: 90, + stock: 934, + }, + { + yieldClass: 14, + age: 100, + stock: 975, + }, + { + yieldClass: 14, + age: 110, + stock: 1025, + }, + { + yieldClass: 14, + age: 120, + stock: 1066, + }, + { + yieldClass: 14, + age: 130, + stock: 1101, + }, + { + yieldClass: 14, + age: 140, + stock: 1126, + }, + { + yieldClass: 14, + age: 150, + stock: 1153, + }, + { + yieldClass: 13, + age: 20, + stock: 107, + }, + { + yieldClass: 13, + age: 30, + stock: 240, + }, + { + yieldClass: 13, + age: 40, + stock: 371, + }, + { + yieldClass: 13, + age: 50, + stock: 494, + }, + { + yieldClass: 13, + age: 60, + stock: 605, + }, + { + yieldClass: 13, + age: 70, + stock: 704, + }, + { + yieldClass: 13, + age: 80, + stock: 783, + }, + { + yieldClass: 13, + age: 90, + stock: 851, + }, + { + yieldClass: 13, + age: 100, + stock: 909, + }, + { + yieldClass: 13, + age: 110, + stock: 957, + }, + { + yieldClass: 13, + age: 120, + stock: 994, + }, + { + yieldClass: 13, + age: 130, + stock: 1027, + }, + { + yieldClass: 13, + age: 140, + stock: 1051, + }, + { + yieldClass: 13, + age: 150, + stock: 1075, + }, + { + yieldClass: 12, + age: 20, + stock: 92, + }, + { + yieldClass: 12, + age: 30, + stock: 218, + }, + { + yieldClass: 12, + age: 40, + stock: 340, + }, + { + yieldClass: 12, + age: 50, + stock: 456, + }, + { + yieldClass: 12, + age: 60, + stock: 560, + }, + { + yieldClass: 12, + age: 70, + stock: 650, + }, + { + yieldClass: 12, + age: 80, + stock: 726, + }, + { + yieldClass: 12, + age: 90, + stock: 788, + }, + { + yieldClass: 12, + age: 100, + stock: 843, + }, + { + yieldClass: 12, + age: 110, + stock: 888, + }, + { + yieldClass: 12, + age: 120, + stock: 922, + }, + { + yieldClass: 12, + age: 130, + stock: 954, + }, + { + yieldClass: 12, + age: 140, + stock: 978, + }, + { + yieldClass: 12, + age: 150, + stock: 1002, + }, + { + yieldClass: 11, + age: 20, + stock: 78, + }, + { + yieldClass: 11, + age: 30, + stock: 195, + }, + { + yieldClass: 11, + age: 40, + stock: 310, + }, + { + yieldClass: 11, + age: 50, + stock: 417, + }, + { + yieldClass: 11, + age: 60, + stock: 512, + }, + { + yieldClass: 11, + age: 70, + stock: 596, + }, + { + yieldClass: 11, + age: 80, + stock: 668, + }, + { + yieldClass: 11, + age: 90, + stock: 728, + }, + { + yieldClass: 11, + age: 100, + stock: 777, + }, + { + yieldClass: 11, + age: 110, + stock: 819, + }, + { + yieldClass: 11, + age: 120, + stock: 852, + }, + { + yieldClass: 11, + age: 130, + stock: 881, + }, + { + yieldClass: 11, + age: 140, + stock: 902, + }, + { + yieldClass: 11, + age: 150, + stock: 923, + }, + { + yieldClass: 10, + age: 20, + stock: 62, + }, + { + yieldClass: 10, + age: 30, + stock: 172, + }, + { + yieldClass: 10, + age: 40, + stock: 278, + }, + { + yieldClass: 10, + age: 50, + stock: 377, + }, + { + yieldClass: 10, + age: 60, + stock: 467, + }, + { + yieldClass: 10, + age: 70, + stock: 543, + }, + { + yieldClass: 10, + age: 80, + stock: 609, + }, + { + yieldClass: 10, + age: 90, + stock: 666, + }, + { + yieldClass: 10, + age: 100, + stock: 710, + }, + { + yieldClass: 10, + age: 110, + stock: 748, + }, + { + yieldClass: 10, + age: 120, + stock: 780, + }, + { + yieldClass: 10, + age: 130, + stock: 806, + }, + { + yieldClass: 10, + age: 140, + stock: 827, + }, + { + yieldClass: 10, + age: 150, + stock: 847, + }, + { + yieldClass: 9, + age: 20, + stock: 46, + }, + { + yieldClass: 9, + age: 30, + stock: 149, + }, + { + yieldClass: 9, + age: 40, + stock: 248, + }, + { + yieldClass: 9, + age: 50, + stock: 339, + }, + { + yieldClass: 9, + age: 60, + stock: 410, + }, + { + yieldClass: 9, + age: 70, + stock: 491, + }, + { + yieldClass: 9, + age: 80, + stock: 553, + }, + { + yieldClass: 9, + age: 90, + stock: 603, + }, + { + yieldClass: 9, + age: 100, + stock: 647, + }, + { + yieldClass: 9, + age: 110, + stock: 681, + }, + { + yieldClass: 9, + age: 120, + stock: 710, + }, + { + yieldClass: 9, + age: 130, + stock: 734, + }, + { + yieldClass: 9, + age: 140, + stock: 753, + }, + { + yieldClass: 9, + age: 150, + stock: 769, + }, + { + yieldClass: 8, + age: 20, + stock: 29, + }, + { + yieldClass: 8, + age: 30, + stock: 125, + }, + { + yieldClass: 8, + age: 40, + stock: 215, + }, + { + yieldClass: 8, + age: 50, + stock: 298, + }, + { + yieldClass: 8, + age: 60, + stock: 375, + }, + { + yieldClass: 8, + age: 70, + stock: 441, + }, + { + yieldClass: 8, + age: 80, + stock: 495, + }, + { + yieldClass: 8, + age: 90, + stock: 541, + }, + { + yieldClass: 8, + age: 100, + stock: 581, + }, + { + yieldClass: 8, + age: 110, + stock: 612, + }, + { + yieldClass: 8, + age: 120, + stock: 638, + }, + { + yieldClass: 8, + age: 130, + stock: 660, + }, + { + yieldClass: 8, + age: 140, + stock: 678, + }, + { + yieldClass: 8, + age: 150, + stock: 693, + }, + { + yieldClass: 7, + age: 20, + stock: 13, + }, + { + yieldClass: 7, + age: 30, + stock: 102, + }, + { + yieldClass: 7, + age: 40, + stock: 184, + }, + { + yieldClass: 7, + age: 50, + stock: 261, + }, + { + yieldClass: 7, + age: 60, + stock: 329, + }, + { + yieldClass: 7, + age: 70, + stock: 389, + }, + { + yieldClass: 7, + age: 80, + stock: 437, + }, + { + yieldClass: 7, + age: 90, + stock: 480, + }, + { + yieldClass: 7, + age: 100, + stock: 516, + }, + { + yieldClass: 7, + age: 110, + stock: 543, + }, + { + yieldClass: 7, + age: 120, + stock: 569, + }, + { + yieldClass: 7, + age: 130, + stock: 589, + }, + { + yieldClass: 7, + age: 140, + stock: 605, + }, + { + yieldClass: 7, + age: 150, + stock: 620, + }, + { + yieldClass: 6, + age: 30, + stock: 79, + }, + { + yieldClass: 6, + age: 40, + stock: 153, + }, + { + yieldClass: 6, + age: 50, + stock: 220, + }, + { + yieldClass: 6, + age: 60, + stock: 282, + }, + { + yieldClass: 6, + age: 70, + stock: 335, + }, + { + yieldClass: 6, + age: 80, + stock: 380, + }, + { + yieldClass: 6, + age: 90, + stock: 420, + }, + { + yieldClass: 6, + age: 100, + stock: 452, + }, + { + yieldClass: 6, + age: 110, + stock: 477, + }, + { + yieldClass: 6, + age: 120, + stock: 500, + }, + { + yieldClass: 6, + age: 130, + stock: 516, + }, + { + yieldClass: 6, + age: 140, + stock: 532, + }, + { + yieldClass: 6, + age: 150, + stock: 544, + }, + { + yieldClass: 5, + age: 30, + stock: 53, + }, + { + yieldClass: 5, + age: 40, + stock: 118, + }, + { + yieldClass: 5, + age: 50, + stock: 177, + }, + { + yieldClass: 5, + age: 60, + stock: 232, + }, + { + yieldClass: 5, + age: 70, + stock: 279, + }, + { + yieldClass: 5, + age: 80, + stock: 319, + }, + { + yieldClass: 5, + age: 90, + stock: 352, + }, + { + yieldClass: 5, + age: 100, + stock: 382, + }, + { + yieldClass: 5, + age: 110, + stock: 406, + }, + { + yieldClass: 5, + age: 120, + stock: 424, + }, + { + yieldClass: 5, + age: 130, + stock: 441, + }, + { + yieldClass: 5, + age: 140, + stock: 453, + }, + { + yieldClass: 5, + age: 150, + stock: 464, + }, + { + yieldClass: 4, + age: 30, + stock: 26, + }, + { + yieldClass: 4, + age: 40, + stock: 82, + }, + { + yieldClass: 4, + age: 50, + stock: 135, + }, + { + yieldClass: 4, + age: 60, + stock: 181, + }, + { + yieldClass: 4, + age: 70, + stock: 223, + }, + { + yieldClass: 4, + age: 80, + stock: 259, + }, + { + yieldClass: 4, + age: 90, + stock: 289, + }, + { + yieldClass: 4, + age: 100, + stock: 314, + }, + { + yieldClass: 4, + age: 110, + stock: 333, + }, + { + yieldClass: 4, + age: 120, + stock: 350, + }, + { + yieldClass: 4, + age: 130, + stock: 365, + }, + { + yieldClass: 4, + age: 140, + stock: 376, + }, + { + yieldClass: 4, + age: 150, + stock: 387, + }, + ], +}; + +export default at_marschall_fichteBruck; diff --git a/src/constants/yieldTables/at_marschall_fichteHochgebirge.ts b/src/constants/yieldTables/at_marschall_fichteHochgebirge.ts new file mode 100644 index 0000000..6d53eee --- /dev/null +++ b/src/constants/yieldTables/at_marschall_fichteHochgebirge.ts @@ -0,0 +1,943 @@ +import YieldTable from '@/models/YieldTable'; + +const at_marschall_fichteHochgebirge: YieldTable = { + meta: { + title: 'Fichte Hochgebirge', + author: 'Dipl.-Ing. Dr. Julius Marschall', + copyright: + '© 1975 Österreichischer Agrarverlag Druck- und Verlagsges.m.b.H. Nfg. KG, Sturzgasse 1A, A-1141 Wien, E-Mail: buch@avbuch.at, Internet: www.avbuch.at', + source: + '1975, Julius Marschall: Hilfstafeln für die Forsteinrichtung; Neunte Auflage; Österreichischer Agrarverlag', + sourceLink: + 'https://www.avbuch-shop.at/landwirtschaft/lehrbuecher/1347/hilfstafeln-fuer-die-forsteinrichtung', + }, + rows: [ + { + yieldClass: 15, + age: 20, + stock: 56, + }, + { + yieldClass: 15, + age: 30, + stock: 182, + }, + { + yieldClass: 15, + age: 40, + stock: 334, + }, + { + yieldClass: 15, + age: 50, + stock: 500, + }, + { + yieldClass: 15, + age: 60, + stock: 659, + }, + { + yieldClass: 15, + age: 70, + stock: 807, + }, + { + yieldClass: 15, + age: 80, + stock: 938, + }, + { + yieldClass: 15, + age: 90, + stock: 1050, + }, + { + yieldClass: 15, + age: 100, + stock: 1143, + }, + { + yieldClass: 15, + age: 110, + stock: 1222, + }, + { + yieldClass: 15, + age: 120, + stock: 1285, + }, + { + yieldClass: 15, + age: 130, + stock: 1340, + }, + { + yieldClass: 15, + age: 140, + stock: 1385, + }, + { + yieldClass: 15, + age: 150, + stock: 1422, + }, + { + yieldClass: 14, + age: 20, + stock: 52, + }, + { + yieldClass: 14, + age: 30, + stock: 174, + }, + { + yieldClass: 14, + age: 40, + stock: 320, + }, + { + yieldClass: 14, + age: 50, + stock: 475, + }, + { + yieldClass: 14, + age: 60, + stock: 624, + }, + { + yieldClass: 14, + age: 70, + stock: 762, + }, + { + yieldClass: 14, + age: 80, + stock: 881, + }, + { + yieldClass: 14, + age: 90, + stock: 988, + }, + { + yieldClass: 14, + age: 100, + stock: 1080, + }, + { + yieldClass: 14, + age: 110, + stock: 1155, + }, + { + yieldClass: 14, + age: 120, + stock: 1218, + }, + { + yieldClass: 14, + age: 130, + stock: 1271, + }, + { + yieldClass: 14, + age: 140, + stock: 1312, + }, + { + yieldClass: 14, + age: 150, + stock: 1346, + }, + { + yieldClass: 13, + age: 20, + stock: 46, + }, + { + yieldClass: 13, + age: 30, + stock: 164, + }, + { + yieldClass: 13, + age: 40, + stock: 300, + }, + { + yieldClass: 13, + age: 50, + stock: 444, + }, + { + yieldClass: 13, + age: 60, + stock: 580, + }, + { + yieldClass: 13, + age: 70, + stock: 707, + }, + { + yieldClass: 13, + age: 80, + stock: 818, + }, + { + yieldClass: 13, + age: 90, + stock: 919, + }, + { + yieldClass: 13, + age: 100, + stock: 1005, + }, + { + yieldClass: 13, + age: 110, + stock: 1076, + }, + { + yieldClass: 13, + age: 120, + stock: 1139, + }, + { + yieldClass: 13, + age: 130, + stock: 1190, + }, + { + yieldClass: 13, + age: 140, + stock: 1231, + }, + { + yieldClass: 13, + age: 150, + stock: 1267, + }, + { + yieldClass: 12, + age: 20, + stock: 37, + }, + { + yieldClass: 12, + age: 30, + stock: 150, + }, + { + yieldClass: 12, + age: 40, + stock: 276, + }, + { + yieldClass: 12, + age: 50, + stock: 409, + }, + { + yieldClass: 12, + age: 60, + stock: 533, + }, + { + yieldClass: 12, + age: 70, + stock: 650, + }, + { + yieldClass: 12, + age: 80, + stock: 757, + }, + { + yieldClass: 12, + age: 90, + stock: 848, + }, + { + yieldClass: 12, + age: 100, + stock: 926, + }, + { + yieldClass: 12, + age: 110, + stock: 994, + }, + { + yieldClass: 12, + age: 120, + stock: 1054, + }, + { + yieldClass: 12, + age: 130, + stock: 1105, + }, + { + yieldClass: 12, + age: 140, + stock: 1145, + }, + { + yieldClass: 12, + age: 150, + stock: 1181, + }, + { + yieldClass: 11, + age: 20, + stock: 26, + }, + { + yieldClass: 11, + age: 30, + stock: 134, + }, + { + yieldClass: 11, + age: 40, + stock: 250, + }, + { + yieldClass: 11, + age: 50, + stock: 370, + }, + { + yieldClass: 11, + age: 60, + stock: 485, + }, + { + yieldClass: 11, + age: 70, + stock: 592, + }, + { + yieldClass: 11, + age: 80, + stock: 687, + }, + { + yieldClass: 11, + age: 90, + stock: 771, + }, + { + yieldClass: 11, + age: 100, + stock: 849, + }, + { + yieldClass: 11, + age: 110, + stock: 911, + }, + { + yieldClass: 11, + age: 120, + stock: 965, + }, + { + yieldClass: 11, + age: 130, + stock: 1014, + }, + { + yieldClass: 11, + age: 140, + stock: 1054, + }, + { + yieldClass: 11, + age: 150, + stock: 1092, + }, + { + yieldClass: 10, + age: 20, + stock: 12, + }, + { + yieldClass: 10, + age: 30, + stock: 114, + }, + { + yieldClass: 10, + age: 40, + stock: 222, + }, + { + yieldClass: 10, + age: 50, + stock: 329, + }, + { + yieldClass: 10, + age: 60, + stock: 433, + }, + { + yieldClass: 10, + age: 70, + stock: 532, + }, + { + yieldClass: 10, + age: 80, + stock: 618, + }, + { + yieldClass: 10, + age: 90, + stock: 697, + }, + { + yieldClass: 10, + age: 100, + stock: 766, + }, + { + yieldClass: 10, + age: 110, + stock: 825, + }, + { + yieldClass: 10, + age: 120, + stock: 876, + }, + { + yieldClass: 10, + age: 130, + stock: 922, + }, + { + yieldClass: 10, + age: 140, + stock: 962, + }, + { + yieldClass: 10, + age: 150, + stock: 996, + }, + { + yieldClass: 9, + age: 30, + stock: 93, + }, + { + yieldClass: 9, + age: 40, + stock: 191, + }, + { + yieldClass: 9, + age: 50, + stock: 289, + }, + { + yieldClass: 9, + age: 60, + stock: 382, + }, + { + yieldClass: 9, + age: 70, + stock: 469, + }, + { + yieldClass: 9, + age: 80, + stock: 549, + }, + { + yieldClass: 9, + age: 90, + stock: 619, + }, + { + yieldClass: 9, + age: 100, + stock: 683, + }, + { + yieldClass: 9, + age: 110, + stock: 739, + }, + { + yieldClass: 9, + age: 120, + stock: 787, + }, + { + yieldClass: 9, + age: 130, + stock: 832, + }, + { + yieldClass: 9, + age: 140, + stock: 868, + }, + { + yieldClass: 9, + age: 150, + stock: 902, + }, + { + yieldClass: 8, + age: 30, + stock: 72, + }, + { + yieldClass: 8, + age: 40, + stock: 158, + }, + { + yieldClass: 8, + age: 50, + stock: 245, + }, + { + yieldClass: 8, + age: 60, + stock: 328, + }, + { + yieldClass: 8, + age: 70, + stock: 407, + }, + { + yieldClass: 8, + age: 80, + stock: 478, + }, + { + yieldClass: 8, + age: 90, + stock: 545, + }, + { + yieldClass: 8, + age: 100, + stock: 603, + }, + { + yieldClass: 8, + age: 110, + stock: 654, + }, + { + yieldClass: 8, + age: 120, + stock: 702, + }, + { + yieldClass: 8, + age: 130, + stock: 740, + }, + { + yieldClass: 8, + age: 140, + stock: 775, + }, + { + yieldClass: 8, + age: 150, + stock: 807, + }, + { + yieldClass: 7, + age: 30, + stock: 50, + }, + { + yieldClass: 7, + age: 40, + stock: 127, + }, + { + yieldClass: 7, + age: 50, + stock: 202, + }, + { + yieldClass: 7, + age: 60, + stock: 277, + }, + { + yieldClass: 7, + age: 70, + stock: 347, + }, + { + yieldClass: 7, + age: 80, + stock: 412, + }, + { + yieldClass: 7, + age: 90, + stock: 469, + }, + { + yieldClass: 7, + age: 100, + stock: 522, + }, + { + yieldClass: 7, + age: 110, + stock: 571, + }, + { + yieldClass: 7, + age: 120, + stock: 613, + }, + { + yieldClass: 7, + age: 130, + stock: 650, + }, + { + yieldClass: 7, + age: 140, + stock: 685, + }, + { + yieldClass: 7, + age: 150, + stock: 713, + }, + { + yieldClass: 6, + age: 30, + stock: 28, + }, + { + yieldClass: 6, + age: 40, + stock: 96, + }, + { + yieldClass: 6, + age: 50, + stock: 161, + }, + { + yieldClass: 6, + age: 60, + stock: 226, + }, + { + yieldClass: 6, + age: 70, + stock: 287, + }, + { + yieldClass: 6, + age: 80, + stock: 344, + }, + { + yieldClass: 6, + age: 90, + stock: 398, + }, + { + yieldClass: 6, + age: 100, + stock: 445, + }, + { + yieldClass: 6, + age: 110, + stock: 487, + }, + { + yieldClass: 6, + age: 120, + stock: 528, + }, + { + yieldClass: 6, + age: 130, + stock: 563, + }, + { + yieldClass: 6, + age: 140, + stock: 593, + }, + { + yieldClass: 6, + age: 150, + stock: 622, + }, + { + yieldClass: 5, + age: 30, + stock: 8, + }, + { + yieldClass: 5, + age: 40, + stock: 66, + }, + { + yieldClass: 5, + age: 50, + stock: 122, + }, + { + yieldClass: 5, + age: 60, + stock: 178, + }, + { + yieldClass: 5, + age: 70, + stock: 231, + }, + { + yieldClass: 5, + age: 80, + stock: 281, + }, + { + yieldClass: 5, + age: 90, + stock: 328, + }, + { + yieldClass: 5, + age: 100, + stock: 371, + }, + { + yieldClass: 5, + age: 110, + stock: 410, + }, + { + yieldClass: 5, + age: 120, + stock: 445, + }, + { + yieldClass: 5, + age: 130, + stock: 476, + }, + { + yieldClass: 5, + age: 140, + stock: 506, + }, + { + yieldClass: 5, + age: 150, + stock: 532, + }, + { + yieldClass: 4, + age: 40, + stock: 40, + }, + { + yieldClass: 4, + age: 50, + stock: 86, + }, + { + yieldClass: 4, + age: 60, + stock: 131, + }, + { + yieldClass: 4, + age: 70, + stock: 176, + }, + { + yieldClass: 4, + age: 80, + stock: 218, + }, + { + yieldClass: 4, + age: 90, + stock: 259, + }, + { + yieldClass: 4, + age: 100, + stock: 296, + }, + { + yieldClass: 4, + age: 110, + stock: 331, + }, + { + yieldClass: 4, + age: 120, + stock: 362, + }, + { + yieldClass: 4, + age: 130, + stock: 392, + }, + { + yieldClass: 4, + age: 140, + stock: 418, + }, + { + yieldClass: 4, + age: 150, + stock: 443, + }, + { + yieldClass: 3, + age: 40, + stock: 18, + }, + { + yieldClass: 3, + age: 50, + stock: 54, + }, + { + yieldClass: 3, + age: 60, + stock: 90, + }, + { + yieldClass: 3, + age: 70, + stock: 127, + }, + { + yieldClass: 3, + age: 80, + stock: 162, + }, + { + yieldClass: 3, + age: 90, + stock: 195, + }, + { + yieldClass: 3, + age: 100, + stock: 228, + }, + { + yieldClass: 3, + age: 110, + stock: 257, + }, + { + yieldClass: 3, + age: 120, + stock: 285, + }, + { + yieldClass: 3, + age: 130, + stock: 311, + }, + { + yieldClass: 3, + age: 140, + stock: 335, + }, + { + yieldClass: 3, + age: 150, + stock: 357, + }, + { + yieldClass: 2, + age: 40, + stock: 2, + }, + { + yieldClass: 2, + age: 50, + stock: 29, + }, + { + yieldClass: 2, + age: 60, + stock: 56, + }, + { + yieldClass: 2, + age: 70, + stock: 83, + }, + { + yieldClass: 2, + age: 80, + stock: 110, + }, + { + yieldClass: 2, + age: 90, + stock: 138, + }, + { + yieldClass: 2, + age: 100, + stock: 164, + }, + { + yieldClass: 2, + age: 110, + stock: 189, + }, + { + yieldClass: 2, + age: 120, + stock: 211, + }, + { + yieldClass: 2, + age: 130, + stock: 234, + }, + { + yieldClass: 2, + age: 140, + stock: 254, + }, + { + yieldClass: 2, + age: 150, + stock: 274, + }, + ], +}; + +export default at_marschall_fichteHochgebirge; diff --git a/src/constants/yieldTables/at_marschall_kieferLitschau.ts b/src/constants/yieldTables/at_marschall_kieferLitschau.ts new file mode 100644 index 0000000..07b96dd --- /dev/null +++ b/src/constants/yieldTables/at_marschall_kieferLitschau.ts @@ -0,0 +1,578 @@ +import YieldTable from '@/models/YieldTable'; + +const at_marschall_kieferLitschau: YieldTable = { + meta: { + title: 'Kiefer Litschau', + author: 'Dipl.-Ing. Dr. Julius Marschall', + copyright: + '© 1975 Österreichischer Agrarverlag Druck- und Verlagsges.m.b.H. Nfg. KG, Sturzgasse 1A, A-1141 Wien, E-Mail: buch@avbuch.at, Internet: www.avbuch.at', + source: + '1975, Julius Marschall: Hilfstafeln für die Forsteinrichtung; Neunte Auflage; Österreichischer Agrarverlag', + sourceLink: + 'https://www.avbuch-shop.at/landwirtschaft/lehrbuecher/1347/hilfstafeln-fuer-die-forsteinrichtung', + }, + rows: [ + { + yieldClass: 9, + age: 20, + stock: 51, + }, + { + yieldClass: 9, + age: 30, + stock: 150, + }, + { + yieldClass: 9, + age: 40, + stock: 252, + }, + { + yieldClass: 9, + age: 50, + stock: 344, + }, + { + yieldClass: 9, + age: 60, + stock: 423, + }, + { + yieldClass: 9, + age: 70, + stock: 492, + }, + { + yieldClass: 9, + age: 80, + stock: 548, + }, + { + yieldClass: 9, + age: 90, + stock: 596, + }, + { + yieldClass: 9, + age: 100, + stock: 636, + }, + { + yieldClass: 9, + age: 110, + stock: 670, + }, + { + yieldClass: 9, + age: 120, + stock: 698, + }, + { + yieldClass: 9, + age: 130, + stock: 720, + }, + { + yieldClass: 9, + age: 140, + stock: 740, + }, + { + yieldClass: 9, + age: 150, + stock: 756, + }, + { + yieldClass: 8, + age: 20, + stock: 31, + }, + { + yieldClass: 8, + age: 30, + stock: 115, + }, + { + yieldClass: 8, + age: 40, + stock: 207, + }, + { + yieldClass: 8, + age: 50, + stock: 292, + }, + { + yieldClass: 8, + age: 60, + stock: 364, + }, + { + yieldClass: 8, + age: 70, + stock: 428, + }, + { + yieldClass: 8, + age: 80, + stock: 479, + }, + { + yieldClass: 8, + age: 90, + stock: 524, + }, + { + yieldClass: 8, + age: 100, + stock: 561, + }, + { + yieldClass: 8, + age: 110, + stock: 589, + }, + { + yieldClass: 8, + age: 120, + stock: 615, + }, + { + yieldClass: 8, + age: 130, + stock: 635, + }, + { + yieldClass: 8, + age: 140, + stock: 650, + }, + { + yieldClass: 8, + age: 150, + stock: 663, + }, + { + yieldClass: 7, + age: 20, + stock: 14, + }, + { + yieldClass: 7, + age: 30, + stock: 83, + }, + { + yieldClass: 7, + age: 40, + stock: 155, + }, + { + yieldClass: 7, + age: 50, + stock: 243, + }, + { + yieldClass: 7, + age: 60, + stock: 310, + }, + { + yieldClass: 7, + age: 70, + stock: 367, + }, + { + yieldClass: 7, + age: 80, + stock: 414, + }, + { + yieldClass: 7, + age: 90, + stock: 454, + }, + { + yieldClass: 7, + age: 100, + stock: 486, + }, + { + yieldClass: 7, + age: 110, + stock: 512, + }, + { + yieldClass: 7, + age: 120, + stock: 532, + }, + { + yieldClass: 7, + age: 130, + stock: 547, + }, + { + yieldClass: 7, + age: 140, + stock: 562, + }, + { + yieldClass: 7, + age: 150, + stock: 571, + }, + { + yieldClass: 6, + age: 20, + stock: 0, + }, + { + yieldClass: 6, + age: 30, + stock: 59, + }, + { + yieldClass: 6, + age: 40, + stock: 130, + }, + { + yieldClass: 6, + age: 50, + stock: 200, + }, + { + yieldClass: 6, + age: 60, + stock: 261, + }, + { + yieldClass: 6, + age: 70, + stock: 311, + }, + { + yieldClass: 6, + age: 80, + stock: 353, + }, + { + yieldClass: 6, + age: 90, + stock: 386, + }, + { + yieldClass: 6, + age: 100, + stock: 415, + }, + { + yieldClass: 6, + age: 110, + stock: 435, + }, + { + yieldClass: 6, + age: 120, + stock: 451, + }, + { + yieldClass: 6, + age: 130, + stock: 464, + }, + { + yieldClass: 6, + age: 140, + stock: 476, + }, + { + yieldClass: 6, + age: 150, + stock: 484, + }, + { + yieldClass: 5, + age: 20, + stock: 0, + }, + { + yieldClass: 5, + age: 30, + stock: 40, + }, + { + yieldClass: 5, + age: 40, + stock: 100, + }, + { + yieldClass: 5, + age: 50, + stock: 161, + }, + { + yieldClass: 5, + age: 60, + stock: 214, + }, + { + yieldClass: 5, + age: 70, + stock: 259, + }, + { + yieldClass: 5, + age: 80, + stock: 295, + }, + { + yieldClass: 5, + age: 90, + stock: 322, + }, + { + yieldClass: 5, + age: 100, + stock: 344, + }, + { + yieldClass: 5, + age: 110, + stock: 361, + }, + { + yieldClass: 5, + age: 120, + stock: 374, + }, + { + yieldClass: 5, + age: 130, + stock: 384, + }, + { + yieldClass: 5, + age: 140, + stock: 391, + }, + { + yieldClass: 5, + age: 150, + stock: 397, + }, + { + yieldClass: 4, + age: 20, + stock: 0, + }, + { + yieldClass: 4, + age: 30, + stock: 27, + }, + { + yieldClass: 4, + age: 40, + stock: 74, + }, + { + yieldClass: 4, + age: 50, + stock: 126, + }, + { + yieldClass: 4, + age: 60, + stock: 173, + }, + { + yieldClass: 4, + age: 70, + stock: 210, + }, + { + yieldClass: 4, + age: 80, + stock: 239, + }, + { + yieldClass: 4, + age: 90, + stock: 261, + }, + { + yieldClass: 4, + age: 100, + stock: 278, + }, + { + yieldClass: 4, + age: 110, + stock: 290, + }, + { + yieldClass: 4, + age: 120, + stock: 299, + }, + { + yieldClass: 4, + age: 130, + stock: 307, + }, + { + yieldClass: 4, + age: 140, + stock: 311, + }, + { + yieldClass: 4, + age: 150, + stock: 314, + }, + { + yieldClass: 3, + age: 20, + stock: 0, + }, + { + yieldClass: 3, + age: 30, + stock: 20, + }, + { + yieldClass: 3, + age: 40, + stock: 54, + }, + { + yieldClass: 3, + age: 50, + stock: 97, + }, + { + yieldClass: 3, + age: 60, + stock: 134, + }, + { + yieldClass: 3, + age: 70, + stock: 164, + }, + { + yieldClass: 3, + age: 80, + stock: 185, + }, + { + yieldClass: 3, + age: 90, + stock: 201, + }, + { + yieldClass: 3, + age: 100, + stock: 213, + }, + { + yieldClass: 3, + age: 110, + stock: 221, + }, + { + yieldClass: 3, + age: 120, + stock: 226, + }, + { + yieldClass: 3, + age: 130, + stock: 230, + }, + { + yieldClass: 3, + age: 140, + stock: 233, + }, + { + yieldClass: 3, + age: 150, + stock: 235, + }, + { + yieldClass: 2, + age: 20, + stock: 0, + }, + { + yieldClass: 2, + age: 30, + stock: 0, + }, + { + yieldClass: 2, + age: 40, + stock: 38, + }, + { + yieldClass: 2, + age: 50, + stock: 70, + }, + { + yieldClass: 2, + age: 60, + stock: 99, + }, + { + yieldClass: 2, + age: 70, + stock: 120, + }, + { + yieldClass: 2, + age: 80, + stock: 134, + }, + { + yieldClass: 2, + age: 90, + stock: 144, + }, + { + yieldClass: 2, + age: 100, + stock: 151, + }, + { + yieldClass: 2, + age: 110, + stock: 155, + }, + { + yieldClass: 2, + age: 120, + stock: 159, + }, + { + yieldClass: 2, + age: 130, + stock: 161, + }, + { + yieldClass: 2, + age: 140, + stock: 161, + }, + { + yieldClass: 2, + age: 150, + stock: 162, + }, + ], +}; + +export default at_marschall_kieferLitschau; diff --git a/src/constants/yieldTables/at_tirol_buche.ts b/src/constants/yieldTables/at_tirol_buche.ts new file mode 100644 index 0000000..25982ca --- /dev/null +++ b/src/constants/yieldTables/at_tirol_buche.ts @@ -0,0 +1,616 @@ +import YieldTable from '@/models/YieldTable'; + +const at_tirol_buche: YieldTable = { + meta: { + title: 'Buche', + author: 'Amt der Tiroler Landesregierung', + copyright: + 'Amt der Tiroler Landesregierung, Eduard-Wallnöfer-Platz 3, 6020 Innsbruck, Erscheinungsjahr 2004', + source: 'Ertragstafeln für Tirol', + sourceLink: 'https://www.tirol.gv.at/umwelt/wald/waldwirtschaft/ertragstafeln-in-tirol/', + }, + rows: [ + { + yieldClass: 3, + age: 30, + stock: 0, + }, + { + yieldClass: 3, + age: 40, + stock: 15, + }, + { + yieldClass: 3, + age: 50, + stock: 62, + }, + { + yieldClass: 3, + age: 60, + stock: 111, + }, + { + yieldClass: 3, + age: 70, + stock: 156, + }, + { + yieldClass: 3, + age: 80, + stock: 196, + }, + { + yieldClass: 3, + age: 90, + stock: 229, + }, + { + yieldClass: 3, + age: 100, + stock: 256, + }, + { + yieldClass: 3, + age: 110, + stock: 275, + }, + { + yieldClass: 3, + age: 120, + stock: 291, + }, + { + yieldClass: 3, + age: 130, + stock: 303, + }, + { + yieldClass: 3, + age: 140, + stock: 312, + }, + { + yieldClass: 4, + age: 30, + stock: 0, + }, + { + yieldClass: 4, + age: 40, + stock: 36, + }, + { + yieldClass: 4, + age: 50, + stock: 100, + }, + { + yieldClass: 4, + age: 60, + stock: 162, + }, + { + yieldClass: 4, + age: 70, + stock: 215, + }, + { + yieldClass: 4, + age: 80, + stock: 258, + }, + { + yieldClass: 4, + age: 90, + stock: 294, + }, + { + yieldClass: 4, + age: 100, + stock: 322, + }, + { + yieldClass: 4, + age: 110, + stock: 344, + }, + { + yieldClass: 4, + age: 120, + stock: 360, + }, + { + yieldClass: 4, + age: 130, + stock: 371, + }, + { + yieldClass: 4, + age: 140, + stock: 379, + }, + { + yieldClass: 5, + age: 30, + stock: 0, + }, + { + yieldClass: 5, + age: 40, + stock: 64, + }, + { + yieldClass: 5, + age: 50, + stock: 138, + }, + { + yieldClass: 5, + age: 60, + stock: 207, + }, + { + yieldClass: 5, + age: 70, + stock: 265, + }, + { + yieldClass: 5, + age: 80, + stock: 313, + }, + { + yieldClass: 5, + age: 90, + stock: 351, + }, + { + yieldClass: 5, + age: 100, + stock: 381, + }, + { + yieldClass: 5, + age: 110, + stock: 403, + }, + { + yieldClass: 5, + age: 120, + stock: 418, + }, + { + yieldClass: 5, + age: 130, + stock: 430, + }, + { + yieldClass: 5, + age: 140, + stock: 440, + }, + { + yieldClass: 6, + age: 30, + stock: 10, + }, + { + yieldClass: 6, + age: 40, + stock: 92, + }, + { + yieldClass: 6, + age: 50, + stock: 177, + }, + { + yieldClass: 6, + age: 60, + stock: 253, + }, + { + yieldClass: 6, + age: 70, + stock: 316, + }, + { + yieldClass: 6, + age: 80, + stock: 365, + }, + { + yieldClass: 6, + age: 90, + stock: 405, + }, + { + yieldClass: 6, + age: 100, + stock: 435, + }, + { + yieldClass: 6, + age: 110, + stock: 460, + }, + { + yieldClass: 6, + age: 120, + stock: 477, + }, + { + yieldClass: 6, + age: 130, + stock: 490, + }, + { + yieldClass: 6, + age: 140, + stock: 500, + }, + { + yieldClass: 7, + age: 30, + stock: 16, + }, + { + yieldClass: 7, + age: 40, + stock: 120, + }, + { + yieldClass: 7, + age: 50, + stock: 215, + }, + { + yieldClass: 7, + age: 60, + stock: 298, + }, + { + yieldClass: 7, + age: 70, + stock: 362, + }, + { + yieldClass: 7, + age: 80, + stock: 417, + }, + { + yieldClass: 7, + age: 90, + stock: 460, + }, + { + yieldClass: 7, + age: 100, + stock: 493, + }, + { + yieldClass: 7, + age: 110, + stock: 519, + }, + { + yieldClass: 7, + age: 120, + stock: 537, + }, + { + yieldClass: 7, + age: 130, + stock: 550, + }, + { + yieldClass: 7, + age: 140, + stock: 560, + }, + { + yieldClass: 8, + age: 30, + stock: 31, + }, + { + yieldClass: 8, + age: 40, + stock: 148, + }, + { + yieldClass: 8, + age: 50, + stock: 252, + }, + { + yieldClass: 8, + age: 60, + stock: 339, + }, + { + yieldClass: 8, + age: 70, + stock: 408, + }, + { + yieldClass: 8, + age: 80, + stock: 466, + }, + { + yieldClass: 8, + age: 90, + stock: 511, + }, + { + yieldClass: 8, + age: 100, + stock: 546, + }, + { + yieldClass: 8, + age: 110, + stock: 571, + }, + { + yieldClass: 8, + age: 120, + stock: 591, + }, + { + yieldClass: 8, + age: 130, + stock: 605, + }, + { + yieldClass: 8, + age: 140, + stock: 613, + }, + { + yieldClass: 9, + age: 30, + stock: 51, + }, + { + yieldClass: 9, + age: 40, + stock: 177, + }, + { + yieldClass: 9, + age: 50, + stock: 288, + }, + { + yieldClass: 9, + age: 60, + stock: 380, + }, + { + yieldClass: 9, + age: 70, + stock: 453, + }, + { + yieldClass: 9, + age: 80, + stock: 513, + }, + { + yieldClass: 9, + age: 90, + stock: 560, + }, + { + yieldClass: 9, + age: 100, + stock: 598, + }, + { + yieldClass: 9, + age: 110, + stock: 624, + }, + { + yieldClass: 9, + age: 120, + stock: 643, + }, + { + yieldClass: 9, + age: 130, + stock: 658, + }, + { + yieldClass: 9, + age: 140, + stock: 668, + }, + { + yieldClass: 10, + age: 30, + stock: 70, + }, + { + yieldClass: 10, + age: 40, + stock: 205, + }, + { + yieldClass: 10, + age: 50, + stock: 324, + }, + { + yieldClass: 10, + age: 60, + stock: 421, + }, + { + yieldClass: 10, + age: 70, + stock: 497, + }, + { + yieldClass: 10, + age: 80, + stock: 561, + }, + { + yieldClass: 10, + age: 90, + stock: 612, + }, + { + yieldClass: 10, + age: 100, + stock: 652, + }, + { + yieldClass: 10, + age: 110, + stock: 675, + }, + { + yieldClass: 10, + age: 120, + stock: 699, + }, + { + yieldClass: 10, + age: 130, + stock: 712, + }, + { + yieldClass: 10, + age: 140, + stock: 722, + }, + { + yieldClass: 11, + age: 30, + stock: 93, + }, + { + yieldClass: 11, + age: 40, + stock: 237, + }, + { + yieldClass: 11, + age: 50, + stock: 362, + }, + { + yieldClass: 11, + age: 60, + stock: 463, + }, + { + yieldClass: 11, + age: 70, + stock: 544, + }, + { + yieldClass: 11, + age: 80, + stock: 610, + }, + { + yieldClass: 11, + age: 90, + stock: 667, + }, + { + yieldClass: 11, + age: 100, + stock: 707, + }, + { + yieldClass: 11, + age: 110, + stock: 729, + }, + { + yieldClass: 11, + age: 120, + stock: 756, + }, + { + yieldClass: 11, + age: 130, + stock: 769, + }, + { + yieldClass: 11, + age: 140, + stock: 778, + }, + { + yieldClass: 12, + age: 30, + stock: 119, + }, + { + yieldClass: 12, + age: 40, + stock: 271, + }, + { + yieldClass: 12, + age: 50, + stock: 403, + }, + { + yieldClass: 12, + age: 60, + stock: 508, + }, + { + yieldClass: 12, + age: 70, + stock: 592, + }, + { + yieldClass: 12, + age: 80, + stock: 661, + }, + { + yieldClass: 12, + age: 90, + stock: 723, + }, + { + yieldClass: 12, + age: 100, + stock: 765, + }, + { + yieldClass: 12, + age: 110, + stock: 783, + }, + { + yieldClass: 12, + age: 120, + stock: 815, + }, + { + yieldClass: 12, + age: 130, + stock: 826, + }, + { + yieldClass: 12, + age: 140, + stock: 835, + }, + ], +}; + +export default at_tirol_buche; diff --git a/src/constants/yieldTables/at_tirol_fichteKalkErtragsniveauMittel.ts b/src/constants/yieldTables/at_tirol_fichteKalkErtragsniveauMittel.ts new file mode 100644 index 0000000..fe0d7a3 --- /dev/null +++ b/src/constants/yieldTables/at_tirol_fichteKalkErtragsniveauMittel.ts @@ -0,0 +1,1186 @@ +import YieldTable from '@/models/YieldTable'; + +const at_tirol_fichteKalkErtragsniveauMittel: YieldTable = { + meta: { + title: 'Fichte Kalk Ertragsniveau mittel', + author: 'Amt der Tiroler Landesregierung', + copyright: + 'Amt der Tiroler Landesregierung, Eduard-Wallnöfer-Platz 3, 6020 Innsbruck, Erscheinungsjahr 2004', + source: 'Ertragstafeln für Tirol', + sourceLink: 'https://www.tirol.gv.at/umwelt/wald/waldwirtschaft/ertragstafeln-in-tirol/', + }, + rows: [ + { + yieldClass: 2, + age: 30, + stock: 0, + }, + { + yieldClass: 2, + age: 40, + stock: 0, + }, + { + yieldClass: 2, + age: 50, + stock: 41, + }, + { + yieldClass: 2, + age: 60, + stock: 63, + }, + { + yieldClass: 2, + age: 70, + stock: 87, + }, + { + yieldClass: 2, + age: 80, + stock: 114, + }, + { + yieldClass: 2, + age: 90, + stock: 142, + }, + { + yieldClass: 2, + age: 100, + stock: 170, + }, + { + yieldClass: 2, + age: 110, + stock: 200, + }, + { + yieldClass: 2, + age: 120, + stock: 229, + }, + { + yieldClass: 2, + age: 130, + stock: 259, + }, + { + yieldClass: 2, + age: 140, + stock: 288, + }, + { + yieldClass: 2, + age: 150, + stock: 316, + }, + { + yieldClass: 2, + age: 160, + stock: 344, + }, + { + yieldClass: 2, + age: 170, + stock: 370, + }, + { + yieldClass: 2, + age: 180, + stock: 396, + }, + { + yieldClass: 2, + age: 190, + stock: 421, + }, + { + yieldClass: 2, + age: 200, + stock: 445, + }, + { + yieldClass: 2, + age: 210, + stock: 468, + }, + { + yieldClass: 2, + age: 220, + stock: 490, + }, + { + yieldClass: 2, + age: 230, + stock: 512, + }, + { + yieldClass: 2, + age: 240, + stock: 533, + }, + { + yieldClass: 2, + age: 250, + stock: 552, + }, + { + yieldClass: 3, + age: 30, + stock: 0, + }, + { + yieldClass: 3, + age: 40, + stock: 0, + }, + { + yieldClass: 3, + age: 50, + stock: 68, + }, + { + yieldClass: 3, + age: 60, + stock: 98, + }, + { + yieldClass: 3, + age: 70, + stock: 130, + }, + { + yieldClass: 3, + age: 80, + stock: 164, + }, + { + yieldClass: 3, + age: 90, + stock: 200, + }, + { + yieldClass: 3, + age: 100, + stock: 235, + }, + { + yieldClass: 3, + age: 110, + stock: 270, + }, + { + yieldClass: 3, + age: 120, + stock: 305, + }, + { + yieldClass: 3, + age: 130, + stock: 338, + }, + { + yieldClass: 3, + age: 140, + stock: 370, + }, + { + yieldClass: 3, + age: 150, + stock: 401, + }, + { + yieldClass: 3, + age: 160, + stock: 431, + }, + { + yieldClass: 3, + age: 170, + stock: 460, + }, + { + yieldClass: 3, + age: 180, + stock: 487, + }, + { + yieldClass: 3, + age: 190, + stock: 513, + }, + { + yieldClass: 3, + age: 200, + stock: 538, + }, + { + yieldClass: 3, + age: 210, + stock: 562, + }, + { + yieldClass: 3, + age: 220, + stock: 584, + }, + { + yieldClass: 3, + age: 230, + stock: 606, + }, + { + yieldClass: 3, + age: 240, + stock: 626, + }, + { + yieldClass: 3, + age: 250, + stock: 646, + }, + { + yieldClass: 4, + age: 30, + stock: 0, + }, + { + yieldClass: 4, + age: 40, + stock: 0, + }, + { + yieldClass: 4, + age: 50, + stock: 95, + }, + { + yieldClass: 4, + age: 60, + stock: 133, + }, + { + yieldClass: 4, + age: 70, + stock: 173, + }, + { + yieldClass: 4, + age: 80, + stock: 214, + }, + { + yieldClass: 4, + age: 90, + stock: 255, + }, + { + yieldClass: 4, + age: 100, + stock: 296, + }, + { + yieldClass: 4, + age: 110, + stock: 335, + }, + { + yieldClass: 4, + age: 120, + stock: 374, + }, + { + yieldClass: 4, + age: 130, + stock: 410, + }, + { + yieldClass: 4, + age: 140, + stock: 445, + }, + { + yieldClass: 4, + age: 150, + stock: 478, + }, + { + yieldClass: 4, + age: 160, + stock: 510, + }, + { + yieldClass: 4, + age: 170, + stock: 539, + }, + { + yieldClass: 4, + age: 180, + stock: 568, + }, + { + yieldClass: 4, + age: 190, + stock: 594, + }, + { + yieldClass: 4, + age: 200, + stock: 620, + }, + { + yieldClass: 4, + age: 210, + stock: 644, + }, + { + yieldClass: 4, + age: 220, + stock: 666, + }, + { + yieldClass: 4, + age: 230, + stock: 688, + }, + { + yieldClass: 4, + age: 240, + stock: 708, + }, + { + yieldClass: 4, + age: 250, + stock: 728, + }, + { + yieldClass: 5, + age: 30, + stock: 43, + }, + { + yieldClass: 5, + age: 40, + stock: 82, + }, + { + yieldClass: 5, + age: 50, + stock: 124, + }, + { + yieldClass: 5, + age: 60, + stock: 169, + }, + { + yieldClass: 5, + age: 70, + stock: 216, + }, + { + yieldClass: 5, + age: 80, + stock: 263, + }, + { + yieldClass: 5, + age: 90, + stock: 310, + }, + { + yieldClass: 5, + age: 100, + stock: 355, + }, + { + yieldClass: 5, + age: 110, + stock: 398, + }, + { + yieldClass: 5, + age: 120, + stock: 439, + }, + { + yieldClass: 5, + age: 130, + stock: 479, + }, + { + yieldClass: 5, + age: 140, + stock: 515, + }, + { + yieldClass: 5, + age: 150, + stock: 550, + }, + { + yieldClass: 5, + age: 160, + stock: 583, + }, + { + yieldClass: 5, + age: 170, + stock: 614, + }, + { + yieldClass: 5, + age: 180, + stock: 643, + }, + { + yieldClass: 5, + age: 190, + stock: 670, + }, + { + yieldClass: 5, + age: 200, + stock: 696, + }, + { + yieldClass: 5, + age: 210, + stock: 720, + }, + { + yieldClass: 5, + age: 220, + stock: 743, + }, + { + yieldClass: 5, + age: 230, + stock: 767, + }, + { + yieldClass: 5, + age: 240, + stock: 784, + }, + { + yieldClass: 5, + age: 250, + stock: 804, + }, + { + yieldClass: 6, + age: 30, + stock: 59, + }, + { + yieldClass: 6, + age: 40, + stock: 105, + }, + { + yieldClass: 6, + age: 50, + stock: 154, + }, + { + yieldClass: 6, + age: 60, + stock: 206, + }, + { + yieldClass: 6, + age: 70, + stock: 259, + }, + { + yieldClass: 6, + age: 80, + stock: 312, + }, + { + yieldClass: 6, + age: 90, + stock: 363, + }, + { + yieldClass: 6, + age: 100, + stock: 412, + }, + { + yieldClass: 6, + age: 110, + stock: 459, + }, + { + yieldClass: 6, + age: 120, + stock: 502, + }, + { + yieldClass: 6, + age: 130, + stock: 544, + }, + { + yieldClass: 6, + age: 140, + stock: 582, + }, + { + yieldClass: 6, + age: 150, + stock: 618, + }, + { + yieldClass: 6, + age: 160, + stock: 652, + }, + { + yieldClass: 6, + age: 170, + stock: 683, + }, + { + yieldClass: 6, + age: 180, + stock: 713, + }, + { + yieldClass: 6, + age: 190, + stock: 740, + }, + { + yieldClass: 6, + age: 200, + stock: 766, + }, + { + yieldClass: 6, + age: 210, + stock: 791, + }, + { + yieldClass: 6, + age: 220, + stock: 813, + }, + { + yieldClass: 6, + age: 230, + stock: 835, + }, + { + yieldClass: 7, + age: 30, + stock: 76, + }, + { + yieldClass: 7, + age: 40, + stock: 129, + }, + { + yieldClass: 7, + age: 50, + stock: 185, + }, + { + yieldClass: 7, + age: 60, + stock: 243, + }, + { + yieldClass: 7, + age: 70, + stock: 302, + }, + { + yieldClass: 7, + age: 80, + stock: 360, + }, + { + yieldClass: 7, + age: 90, + stock: 416, + }, + { + yieldClass: 7, + age: 100, + stock: 469, + }, + { + yieldClass: 7, + age: 110, + stock: 518, + }, + { + yieldClass: 7, + age: 120, + stock: 565, + }, + { + yieldClass: 7, + age: 130, + stock: 608, + }, + { + yieldClass: 7, + age: 140, + stock: 647, + }, + { + yieldClass: 7, + age: 150, + stock: 685, + }, + { + yieldClass: 7, + age: 160, + stock: 719, + }, + { + yieldClass: 7, + age: 170, + stock: 751, + }, + { + yieldClass: 7, + age: 180, + stock: 781, + }, + { + yieldClass: 7, + age: 190, + stock: 809, + }, + { + yieldClass: 7, + age: 200, + stock: 835, + }, + { + yieldClass: 7, + age: 210, + stock: 859, + }, + { + yieldClass: 8, + age: 30, + stock: 94, + }, + { + yieldClass: 8, + age: 40, + stock: 154, + }, + { + yieldClass: 8, + age: 50, + stock: 216, + }, + { + yieldClass: 8, + age: 60, + stock: 281, + }, + { + yieldClass: 8, + age: 70, + stock: 347, + }, + { + yieldClass: 8, + age: 80, + stock: 410, + }, + { + yieldClass: 8, + age: 90, + stock: 469, + }, + { + yieldClass: 8, + age: 100, + stock: 525, + }, + { + yieldClass: 8, + age: 110, + stock: 578, + }, + { + yieldClass: 8, + age: 120, + stock: 626, + }, + { + yieldClass: 8, + age: 130, + stock: 670, + }, + { + yieldClass: 8, + age: 140, + stock: 711, + }, + { + yieldClass: 8, + age: 150, + stock: 749, + }, + { + yieldClass: 8, + age: 160, + stock: 784, + }, + { + yieldClass: 8, + age: 170, + stock: 817, + }, + { + yieldClass: 8, + age: 180, + stock: 847, + }, + { + yieldClass: 8, + age: 190, + stock: 875, + }, + { + yieldClass: 9, + age: 30, + stock: 113, + }, + { + yieldClass: 9, + age: 40, + stock: 179, + }, + { + yieldClass: 9, + age: 50, + stock: 248, + }, + { + yieldClass: 9, + age: 60, + stock: 320, + }, + { + yieldClass: 9, + age: 70, + stock: 391, + }, + { + yieldClass: 9, + age: 80, + stock: 458, + }, + { + yieldClass: 9, + age: 90, + stock: 522, + }, + { + yieldClass: 9, + age: 100, + stock: 581, + }, + { + yieldClass: 9, + age: 110, + stock: 636, + }, + { + yieldClass: 9, + age: 120, + stock: 686, + }, + { + yieldClass: 9, + age: 130, + stock: 732, + }, + { + yieldClass: 9, + age: 140, + stock: 774, + }, + { + yieldClass: 9, + age: 150, + stock: 813, + }, + { + yieldClass: 9, + age: 160, + stock: 848, + }, + { + yieldClass: 9, + age: 170, + stock: 881, + }, + { + yieldClass: 10, + age: 30, + stock: 132, + }, + { + yieldClass: 10, + age: 40, + stock: 204, + }, + { + yieldClass: 10, + age: 50, + stock: 281, + }, + { + yieldClass: 10, + age: 60, + stock: 359, + }, + { + yieldClass: 10, + age: 70, + stock: 436, + }, + { + yieldClass: 10, + age: 80, + stock: 509, + }, + { + yieldClass: 10, + age: 90, + stock: 576, + }, + { + yieldClass: 10, + age: 100, + stock: 683, + }, + { + yieldClass: 10, + age: 110, + stock: 695, + }, + { + yieldClass: 10, + age: 120, + stock: 747, + }, + { + yieldClass: 10, + age: 130, + stock: 794, + }, + { + yieldClass: 10, + age: 140, + stock: 837, + }, + { + yieldClass: 10, + age: 150, + stock: 876, + }, + { + yieldClass: 10, + age: 160, + stock: 911, + }, + { + yieldClass: 11, + age: 30, + stock: 152, + }, + { + yieldClass: 11, + age: 40, + stock: 230, + }, + { + yieldClass: 11, + age: 50, + stock: 314, + }, + { + yieldClass: 11, + age: 60, + stock: 399, + }, + { + yieldClass: 11, + age: 70, + stock: 481, + }, + { + yieldClass: 11, + age: 80, + stock: 559, + }, + { + yieldClass: 11, + age: 90, + stock: 630, + }, + { + yieldClass: 11, + age: 100, + stock: 695, + }, + { + yieldClass: 11, + age: 110, + stock: 754, + }, + { + yieldClass: 11, + age: 120, + stock: 807, + }, + { + yieldClass: 11, + age: 130, + stock: 855, + }, + { + yieldClass: 11, + age: 140, + stock: 898, + }, + { + yieldClass: 11, + age: 150, + stock: 938, + }, + { + yieldClass: 12, + age: 30, + stock: 170, + }, + { + yieldClass: 12, + age: 40, + stock: 255, + }, + { + yieldClass: 12, + age: 50, + stock: 347, + }, + { + yieldClass: 12, + age: 60, + stock: 439, + }, + { + yieldClass: 12, + age: 70, + stock: 528, + }, + { + yieldClass: 12, + age: 80, + stock: 610, + }, + { + yieldClass: 12, + age: 90, + stock: 684, + }, + { + yieldClass: 12, + age: 100, + stock: 752, + }, + { + yieldClass: 12, + age: 110, + stock: 812, + }, + { + yieldClass: 12, + age: 120, + stock: 867, + }, + { + yieldClass: 12, + age: 130, + stock: 916, + }, + { + yieldClass: 12, + age: 140, + stock: 959, + }, + { + yieldClass: 13, + age: 30, + stock: 188, + }, + { + yieldClass: 13, + age: 40, + stock: 281, + }, + { + yieldClass: 13, + age: 50, + stock: 380, + }, + { + yieldClass: 13, + age: 60, + stock: 480, + }, + { + yieldClass: 13, + age: 70, + stock: 574, + }, + { + yieldClass: 13, + age: 80, + stock: 661, + }, + { + yieldClass: 13, + age: 90, + stock: 739, + }, + { + yieldClass: 13, + age: 100, + stock: 809, + }, + { + yieldClass: 13, + age: 110, + stock: 871, + }, + { + yieldClass: 13, + age: 120, + stock: 926, + }, + { + yieldClass: 13, + age: 130, + stock: 976, + }, + { + yieldClass: 14, + age: 30, + stock: 206, + }, + { + yieldClass: 14, + age: 40, + stock: 306, + }, + { + yieldClass: 14, + age: 50, + stock: 414, + }, + { + yieldClass: 14, + age: 60, + stock: 521, + }, + { + yieldClass: 14, + age: 70, + stock: 621, + }, + { + yieldClass: 14, + age: 80, + stock: 712, + }, + { + yieldClass: 14, + age: 90, + stock: 794, + }, + { + yieldClass: 14, + age: 100, + stock: 866, + }, + { + yieldClass: 14, + age: 110, + stock: 930, + }, + { + yieldClass: 14, + age: 120, + stock: 986, + }, + { + yieldClass: 15, + age: 30, + stock: 222, + }, + { + yieldClass: 15, + age: 40, + stock: 331, + }, + { + yieldClass: 15, + age: 50, + stock: 448, + }, + { + yieldClass: 15, + age: 60, + stock: 563, + }, + { + yieldClass: 15, + age: 70, + stock: 669, + }, + { + yieldClass: 15, + age: 80, + stock: 765, + }, + { + yieldClass: 15, + age: 90, + stock: 849, + }, + { + yieldClass: 15, + age: 100, + stock: 923, + }, + { + yieldClass: 15, + age: 110, + stock: 988, + }, + { + yieldClass: 15, + age: 120, + stock: 1045, + }, + ], +}; + +export default at_tirol_fichteKalkErtragsniveauMittel; diff --git a/src/constants/yieldTables/at_tirol_fichteSilikatErtragsniveauHoch.ts b/src/constants/yieldTables/at_tirol_fichteSilikatErtragsniveauHoch.ts new file mode 100644 index 0000000..d947b18 --- /dev/null +++ b/src/constants/yieldTables/at_tirol_fichteSilikatErtragsniveauHoch.ts @@ -0,0 +1,1326 @@ +import YieldTable from '@/models/YieldTable'; + +const at_tirol_fichteSilikatErtragsniveauHoch: YieldTable = { + meta: { + title: 'Fichte Silikat Ertragsniveau hoch', + author: 'Amt der Tiroler Landesregierung', + copyright: + 'Amt der Tiroler Landesregierung, Eduard-Wallnöfer-Platz 3, 6020 Innsbruck, Erscheinungsjahr 2004', + source: 'Ertragstafeln für Tirol', + sourceLink: 'https://www.tirol.gv.at/umwelt/wald/waldwirtschaft/ertragstafeln-in-tirol/', + }, + rows: [ + { + yieldClass: 2, + age: 30, + stock: 0, + }, + { + yieldClass: 2, + age: 40, + stock: 0, + }, + { + yieldClass: 2, + age: 50, + stock: 35, + }, + { + yieldClass: 2, + age: 60, + stock: 46, + }, + { + yieldClass: 2, + age: 70, + stock: 63, + }, + { + yieldClass: 2, + age: 80, + stock: 88, + }, + { + yieldClass: 2, + age: 90, + stock: 119, + }, + { + yieldClass: 2, + age: 100, + stock: 156, + }, + { + yieldClass: 2, + age: 110, + stock: 196, + }, + { + yieldClass: 2, + age: 120, + stock: 239, + }, + { + yieldClass: 2, + age: 130, + stock: 282, + }, + { + yieldClass: 2, + age: 140, + stock: 325, + }, + { + yieldClass: 2, + age: 150, + stock: 367, + }, + { + yieldClass: 2, + age: 160, + stock: 408, + }, + { + yieldClass: 2, + age: 170, + stock: 448, + }, + { + yieldClass: 2, + age: 180, + stock: 486, + }, + { + yieldClass: 2, + age: 190, + stock: 522, + }, + { + yieldClass: 2, + age: 200, + stock: 557, + }, + { + yieldClass: 2, + age: 210, + stock: 591, + }, + { + yieldClass: 2, + age: 220, + stock: 623, + }, + { + yieldClass: 2, + age: 230, + stock: 654, + }, + { + yieldClass: 2, + age: 240, + stock: 684, + }, + { + yieldClass: 2, + age: 250, + stock: 714, + }, + { + yieldClass: 3, + age: 30, + stock: 0, + }, + { + yieldClass: 3, + age: 40, + stock: 0, + }, + { + yieldClass: 3, + age: 50, + stock: 50, + }, + { + yieldClass: 3, + age: 60, + stock: 71, + }, + { + yieldClass: 3, + age: 70, + stock: 103, + }, + { + yieldClass: 3, + age: 80, + stock: 144, + }, + { + yieldClass: 3, + age: 90, + stock: 191, + }, + { + yieldClass: 3, + age: 100, + stock: 241, + }, + { + yieldClass: 3, + age: 110, + stock: 293, + }, + { + yieldClass: 3, + age: 120, + stock: 343, + }, + { + yieldClass: 3, + age: 130, + stock: 393, + }, + { + yieldClass: 3, + age: 140, + stock: 440, + }, + { + yieldClass: 3, + age: 150, + stock: 485, + }, + { + yieldClass: 3, + age: 160, + stock: 529, + }, + { + yieldClass: 3, + age: 170, + stock: 570, + }, + { + yieldClass: 3, + age: 180, + stock: 609, + }, + { + yieldClass: 3, + age: 190, + stock: 646, + }, + { + yieldClass: 3, + age: 200, + stock: 682, + }, + { + yieldClass: 3, + age: 210, + stock: 716, + }, + { + yieldClass: 3, + age: 220, + stock: 750, + }, + { + yieldClass: 3, + age: 230, + stock: 783, + }, + { + yieldClass: 3, + age: 240, + stock: 815, + }, + { + yieldClass: 3, + age: 250, + stock: 847, + }, + { + yieldClass: 4, + age: 30, + stock: 0, + }, + { + yieldClass: 4, + age: 40, + stock: 0, + }, + { + yieldClass: 4, + age: 50, + stock: 67, + }, + { + yieldClass: 4, + age: 60, + stock: 102, + }, + { + yieldClass: 4, + age: 70, + stock: 148, + }, + { + yieldClass: 4, + age: 80, + stock: 202, + }, + { + yieldClass: 4, + age: 90, + stock: 260, + }, + { + yieldClass: 4, + age: 100, + stock: 319, + }, + { + yieldClass: 4, + age: 110, + stock: 376, + }, + { + yieldClass: 4, + age: 120, + stock: 431, + }, + { + yieldClass: 4, + age: 130, + stock: 484, + }, + { + yieldClass: 4, + age: 140, + stock: 534, + }, + { + yieldClass: 4, + age: 150, + stock: 580, + }, + { + yieldClass: 4, + age: 160, + stock: 625, + }, + { + yieldClass: 4, + age: 170, + stock: 667, + }, + { + yieldClass: 4, + age: 180, + stock: 707, + }, + { + yieldClass: 4, + age: 190, + stock: 746, + }, + { + yieldClass: 4, + age: 200, + stock: 783, + }, + { + yieldClass: 4, + age: 210, + stock: 821, + }, + { + yieldClass: 4, + age: 220, + stock: 857, + }, + { + yieldClass: 4, + age: 230, + stock: 894, + }, + { + yieldClass: 4, + age: 240, + stock: 931, + }, + { + yieldClass: 4, + age: 250, + stock: 968, + }, + { + yieldClass: 5, + age: 30, + stock: 20, + }, + { + yieldClass: 5, + age: 40, + stock: 53, + }, + { + yieldClass: 5, + age: 50, + stock: 82, + }, + { + yieldClass: 5, + age: 60, + stock: 125, + }, + { + yieldClass: 5, + age: 70, + stock: 180, + }, + { + yieldClass: 5, + age: 80, + stock: 241, + }, + { + yieldClass: 5, + age: 90, + stock: 305, + }, + { + yieldClass: 5, + age: 100, + stock: 367, + }, + { + yieldClass: 5, + age: 110, + stock: 427, + }, + { + yieldClass: 5, + age: 120, + stock: 485, + }, + { + yieldClass: 5, + age: 130, + stock: 539, + }, + { + yieldClass: 5, + age: 140, + stock: 590, + }, + { + yieldClass: 5, + age: 150, + stock: 637, + }, + { + yieldClass: 5, + age: 160, + stock: 682, + }, + { + yieldClass: 5, + age: 170, + stock: 726, + }, + { + yieldClass: 5, + age: 180, + stock: 767, + }, + { + yieldClass: 5, + age: 190, + stock: 808, + }, + { + yieldClass: 5, + age: 200, + stock: 848, + }, + { + yieldClass: 5, + age: 210, + stock: 888, + }, + { + yieldClass: 5, + age: 220, + stock: 928, + }, + { + yieldClass: 5, + age: 230, + stock: 968, + }, + { + yieldClass: 5, + age: 240, + stock: 1009, + }, + { + yieldClass: 5, + age: 250, + stock: 1052, + }, + { + yieldClass: 6, + age: 30, + stock: 37, + }, + { + yieldClass: 6, + age: 40, + stock: 65, + }, + { + yieldClass: 6, + age: 50, + stock: 104, + }, + { + yieldClass: 6, + age: 60, + stock: 159, + }, + { + yieldClass: 6, + age: 70, + stock: 224, + }, + { + yieldClass: 6, + age: 80, + stock: 294, + }, + { + yieldClass: 6, + age: 90, + stock: 363, + }, + { + yieldClass: 6, + age: 100, + stock: 430, + }, + { + yieldClass: 6, + age: 110, + stock: 493, + }, + { + yieldClass: 6, + age: 120, + stock: 553, + }, + { + yieldClass: 6, + age: 130, + stock: 608, + }, + { + yieldClass: 6, + age: 140, + stock: 660, + }, + { + yieldClass: 6, + age: 150, + stock: 709, + }, + { + yieldClass: 6, + age: 160, + stock: 756, + }, + { + yieldClass: 6, + age: 170, + stock: 802, + }, + { + yieldClass: 6, + age: 180, + stock: 846, + }, + { + yieldClass: 6, + age: 190, + stock: 891, + }, + { + yieldClass: 6, + age: 200, + stock: 935, + }, + { + yieldClass: 6, + age: 210, + stock: 980, + }, + { + yieldClass: 6, + age: 220, + stock: 1027, + }, + { + yieldClass: 6, + age: 230, + stock: 1074, + }, + { + yieldClass: 6, + age: 240, + stock: 1123, + }, + { + yieldClass: 7, + age: 30, + stock: 48, + }, + { + yieldClass: 7, + age: 40, + stock: 80, + }, + { + yieldClass: 7, + age: 50, + stock: 130, + }, + { + yieldClass: 7, + age: 60, + stock: 196, + }, + { + yieldClass: 7, + age: 70, + stock: 271, + }, + { + yieldClass: 7, + age: 80, + stock: 347, + }, + { + yieldClass: 7, + age: 90, + stock: 421, + }, + { + yieldClass: 7, + age: 100, + stock: 492, + }, + { + yieldClass: 7, + age: 110, + stock: 558, + }, + { + yieldClass: 7, + age: 120, + stock: 619, + }, + { + yieldClass: 7, + age: 130, + stock: 676, + }, + { + yieldClass: 7, + age: 140, + stock: 730, + }, + { + yieldClass: 7, + age: 150, + stock: 781, + }, + { + yieldClass: 7, + age: 160, + stock: 831, + }, + { + yieldClass: 7, + age: 170, + stock: 880, + }, + { + yieldClass: 7, + age: 180, + stock: 929, + }, + { + yieldClass: 7, + age: 190, + stock: 979, + }, + { + yieldClass: 7, + age: 200, + stock: 1031, + }, + { + yieldClass: 7, + age: 210, + stock: 1083, + }, + { + yieldClass: 7, + age: 220, + stock: 1138, + }, + { + yieldClass: 8, + age: 30, + stock: 58, + }, + { + yieldClass: 8, + age: 40, + stock: 97, + }, + { + yieldClass: 8, + age: 50, + stock: 159, + }, + { + yieldClass: 8, + age: 60, + stock: 236, + }, + { + yieldClass: 8, + age: 70, + stock: 319, + }, + { + yieldClass: 8, + age: 80, + stock: 401, + }, + { + yieldClass: 8, + age: 90, + stock: 479, + }, + { + yieldClass: 8, + age: 100, + stock: 552, + }, + { + yieldClass: 8, + age: 110, + stock: 620, + }, + { + yieldClass: 8, + age: 120, + stock: 683, + }, + { + yieldClass: 8, + age: 130, + stock: 742, + }, + { + yieldClass: 8, + age: 140, + stock: 798, + }, + { + yieldClass: 8, + age: 150, + stock: 853, + }, + { + yieldClass: 8, + age: 160, + stock: 907, + }, + { + yieldClass: 8, + age: 170, + stock: 962, + }, + { + yieldClass: 8, + age: 180, + stock: 1018, + }, + { + yieldClass: 8, + age: 190, + stock: 1076, + }, + { + yieldClass: 8, + age: 200, + stock: 1137, + }, + { + yieldClass: 9, + age: 30, + stock: 67, + }, + { + yieldClass: 9, + age: 40, + stock: 116, + }, + { + yieldClass: 9, + age: 50, + stock: 189, + }, + { + yieldClass: 9, + age: 60, + stock: 276, + }, + { + yieldClass: 9, + age: 70, + stock: 365, + }, + { + yieldClass: 9, + age: 80, + stock: 452, + }, + { + yieldClass: 9, + age: 90, + stock: 534, + }, + { + yieldClass: 9, + age: 100, + stock: 610, + }, + { + yieldClass: 9, + age: 110, + stock: 680, + }, + { + yieldClass: 9, + age: 120, + stock: 745, + }, + { + yieldClass: 9, + age: 130, + stock: 807, + }, + { + yieldClass: 9, + age: 140, + stock: 866, + }, + { + yieldClass: 9, + age: 150, + stock: 926, + }, + { + yieldClass: 9, + age: 160, + stock: 986, + }, + { + yieldClass: 9, + age: 170, + stock: 1049, + }, + { + yieldClass: 9, + age: 180, + stock: 1114, + }, + { + yieldClass: 10, + age: 30, + stock: 78, + }, + { + yieldClass: 10, + age: 40, + stock: 137, + }, + { + yieldClass: 10, + age: 50, + stock: 221, + }, + { + yieldClass: 10, + age: 60, + stock: 316, + }, + { + yieldClass: 10, + age: 70, + stock: 411, + }, + { + yieldClass: 10, + age: 80, + stock: 503, + }, + { + yieldClass: 10, + age: 90, + stock: 588, + }, + { + yieldClass: 10, + age: 100, + stock: 666, + }, + { + yieldClass: 10, + age: 110, + stock: 738, + }, + { + yieldClass: 10, + age: 120, + stock: 806, + }, + { + yieldClass: 10, + age: 130, + stock: 871, + }, + { + yieldClass: 10, + age: 140, + stock: 936, + }, + { + yieldClass: 10, + age: 150, + stock: 1002, + }, + { + yieldClass: 10, + age: 160, + stock: 1070, + }, + { + yieldClass: 10, + age: 170, + stock: 1143, + }, + { + yieldClass: 11, + age: 30, + stock: 89, + }, + { + yieldClass: 11, + age: 40, + stock: 159, + }, + { + yieldClass: 11, + age: 50, + stock: 253, + }, + { + yieldClass: 11, + age: 60, + stock: 355, + }, + { + yieldClass: 11, + age: 70, + stock: 456, + }, + { + yieldClass: 11, + age: 80, + stock: 551, + }, + { + yieldClass: 11, + age: 90, + stock: 639, + }, + { + yieldClass: 11, + age: 100, + stock: 720, + }, + { + yieldClass: 11, + age: 110, + stock: 794, + }, + { + yieldClass: 11, + age: 120, + stock: 865, + }, + { + yieldClass: 11, + age: 130, + stock: 936, + }, + { + yieldClass: 11, + age: 140, + stock: 1007, + }, + { + yieldClass: 11, + age: 150, + stock: 1082, + }, + { + yieldClass: 11, + age: 160, + stock: 1161, + }, + { + yieldClass: 12, + age: 30, + stock: 102, + }, + { + yieldClass: 12, + age: 40, + stock: 182, + }, + { + yieldClass: 12, + age: 50, + stock: 284, + }, + { + yieldClass: 12, + age: 60, + stock: 393, + }, + { + yieldClass: 12, + age: 70, + stock: 498, + }, + { + yieldClass: 12, + age: 80, + stock: 598, + }, + { + yieldClass: 12, + age: 90, + stock: 688, + }, + { + yieldClass: 12, + age: 100, + stock: 772, + }, + { + yieldClass: 12, + age: 110, + stock: 849, + }, + { + yieldClass: 12, + age: 120, + stock: 925, + }, + { + yieldClass: 12, + age: 130, + stock: 1002, + }, + { + yieldClass: 12, + age: 140, + stock: 1082, + }, + { + yieldClass: 12, + age: 150, + stock: 1166, + }, + { + yieldClass: 13, + age: 30, + stock: 115, + }, + { + yieldClass: 13, + age: 40, + stock: 205, + }, + { + yieldClass: 13, + age: 50, + stock: 315, + }, + { + yieldClass: 13, + age: 60, + stock: 429, + }, + { + yieldClass: 13, + age: 70, + stock: 540, + }, + { + yieldClass: 13, + age: 80, + stock: 643, + }, + { + yieldClass: 13, + age: 90, + stock: 736, + }, + { + yieldClass: 13, + age: 100, + stock: 822, + }, + { + yieldClass: 13, + age: 110, + stock: 904, + }, + { + yieldClass: 13, + age: 120, + stock: 986, + }, + { + yieldClass: 13, + age: 130, + stock: 1070, + }, + { + yieldClass: 13, + age: 140, + stock: 1160, + }, + { + yieldClass: 14, + age: 30, + stock: 128, + }, + { + yieldClass: 14, + age: 40, + stock: 227, + }, + { + yieldClass: 14, + age: 50, + stock: 345, + }, + { + yieldClass: 14, + age: 60, + stock: 464, + }, + { + yieldClass: 14, + age: 70, + stock: 579, + }, + { + yieldClass: 14, + age: 80, + stock: 686, + }, + { + yieldClass: 14, + age: 90, + stock: 782, + }, + { + yieldClass: 14, + age: 100, + stock: 872, + }, + { + yieldClass: 14, + age: 110, + stock: 959, + }, + { + yieldClass: 14, + age: 120, + stock: 1047, + }, + { + yieldClass: 14, + age: 130, + stock: 1141, + }, + { + yieldClass: 15, + age: 30, + stock: 142, + }, + { + yieldClass: 15, + age: 40, + stock: 250, + }, + { + yieldClass: 15, + age: 50, + stock: 373, + }, + { + yieldClass: 15, + age: 60, + stock: 498, + }, + { + yieldClass: 15, + age: 70, + stock: 618, + }, + { + yieldClass: 15, + age: 80, + stock: 727, + }, + { + yieldClass: 15, + age: 90, + stock: 827, + }, + { + yieldClass: 15, + age: 100, + stock: 921, + }, + { + yieldClass: 15, + age: 110, + stock: 1013, + }, + { + yieldClass: 15, + age: 120, + stock: 1110, + }, + { + yieldClass: 16, + age: 30, + stock: 156, + }, + { + yieldClass: 16, + age: 40, + stock: 271, + }, + { + yieldClass: 16, + age: 50, + stock: 400, + }, + { + yieldClass: 16, + age: 60, + stock: 530, + }, + { + yieldClass: 16, + age: 70, + stock: 654, + }, + { + yieldClass: 16, + age: 80, + stock: 767, + }, + { + yieldClass: 16, + age: 90, + stock: 870, + }, + { + yieldClass: 16, + age: 100, + stock: 969, + }, + { + yieldClass: 16, + age: 110, + stock: 1068, + }, + { + yieldClass: 16, + age: 120, + stock: 1174, + }, + { + yieldClass: 17, + age: 30, + stock: 170, + }, + { + yieldClass: 17, + age: 40, + stock: 291, + }, + { + yieldClass: 17, + age: 50, + stock: 426, + }, + { + yieldClass: 17, + age: 60, + stock: 561, + }, + { + yieldClass: 17, + age: 70, + stock: 689, + }, + { + yieldClass: 17, + age: 80, + stock: 806, + }, + { + yieldClass: 17, + age: 90, + stock: 913, + }, + { + yieldClass: 17, + age: 100, + stock: 1017, + }, + { + yieldClass: 17, + age: 110, + stock: 1124, + }, + ], +}; + +export default at_tirol_fichteSilikatErtragsniveauHoch; diff --git a/src/constants/yieldTables/at_tirol_fichteSilikatErtragsniveauMittel.ts b/src/constants/yieldTables/at_tirol_fichteSilikatErtragsniveauMittel.ts new file mode 100644 index 0000000..0b047b8 --- /dev/null +++ b/src/constants/yieldTables/at_tirol_fichteSilikatErtragsniveauMittel.ts @@ -0,0 +1,1191 @@ +import YieldTable from '@/models/YieldTable'; + +const at_tirol_fichteSilikatErtragsniveauMittel: YieldTable = { + meta: { + title: 'Fichte Silikat Ertragsniveau mittel', + author: 'Amt der Tiroler Landesregierung', + copyright: + 'Amt der Tiroler Landesregierung, Eduard-Wallnöfer-Platz 3, 6020 Innsbruck, Erscheinungsjahr 2004', + source: 'Ertragstafeln für Tirol', + sourceLink: 'https://www.tirol.gv.at/umwelt/wald/waldwirtschaft/ertragstafeln-in-tirol/', + }, + rows: [ + { + yieldClass: 2, + age: 30, + stock: 0, + }, + { + yieldClass: 2, + age: 40, + stock: 0, + }, + { + yieldClass: 2, + age: 50, + stock: 32, + }, + { + yieldClass: 2, + age: 60, + stock: 52, + }, + { + yieldClass: 2, + age: 70, + stock: 74, + }, + { + yieldClass: 2, + age: 80, + stock: 100, + }, + { + yieldClass: 2, + age: 90, + stock: 128, + }, + { + yieldClass: 2, + age: 100, + stock: 159, + }, + { + yieldClass: 2, + age: 110, + stock: 191, + }, + { + yieldClass: 2, + age: 120, + stock: 224, + }, + { + yieldClass: 2, + age: 130, + stock: 258, + }, + { + yieldClass: 2, + age: 140, + stock: 293, + }, + { + yieldClass: 2, + age: 150, + stock: 327, + }, + { + yieldClass: 2, + age: 160, + stock: 360, + }, + { + yieldClass: 2, + age: 170, + stock: 393, + }, + { + yieldClass: 2, + age: 180, + stock: 426, + }, + { + yieldClass: 2, + age: 190, + stock: 457, + }, + { + yieldClass: 2, + age: 200, + stock: 488, + }, + { + yieldClass: 2, + age: 210, + stock: 517, + }, + { + yieldClass: 2, + age: 220, + stock: 545, + }, + { + yieldClass: 2, + age: 230, + stock: 572, + }, + { + yieldClass: 2, + age: 240, + stock: 599, + }, + { + yieldClass: 2, + age: 250, + stock: 624, + }, + { + yieldClass: 3, + age: 30, + stock: 0, + }, + { + yieldClass: 3, + age: 40, + stock: 0, + }, + { + yieldClass: 3, + age: 50, + stock: 56, + }, + { + yieldClass: 3, + age: 60, + stock: 84, + }, + { + yieldClass: 3, + age: 70, + stock: 116, + }, + { + yieldClass: 3, + age: 80, + stock: 151, + }, + { + yieldClass: 3, + age: 90, + stock: 189, + }, + { + yieldClass: 3, + age: 100, + stock: 229, + }, + { + yieldClass: 3, + age: 110, + stock: 269, + }, + { + yieldClass: 3, + age: 120, + stock: 309, + }, + { + yieldClass: 3, + age: 130, + stock: 349, + }, + { + yieldClass: 3, + age: 140, + stock: 389, + }, + { + yieldClass: 3, + age: 150, + stock: 427, + }, + { + yieldClass: 3, + age: 160, + stock: 463, + }, + { + yieldClass: 3, + age: 170, + stock: 499, + }, + { + yieldClass: 3, + age: 180, + stock: 533, + }, + { + yieldClass: 3, + age: 190, + stock: 565, + }, + { + yieldClass: 3, + age: 200, + stock: 596, + }, + { + yieldClass: 3, + age: 210, + stock: 625, + }, + { + yieldClass: 3, + age: 220, + stock: 653, + }, + { + yieldClass: 3, + age: 230, + stock: 679, + }, + { + yieldClass: 3, + age: 240, + stock: 704, + }, + { + yieldClass: 3, + age: 250, + stock: 727, + }, + { + yieldClass: 4, + age: 30, + stock: 0, + }, + { + yieldClass: 4, + age: 40, + stock: 0, + }, + { + yieldClass: 4, + age: 50, + stock: 82, + }, + { + yieldClass: 4, + age: 60, + stock: 119, + }, + { + yieldClass: 4, + age: 70, + stock: 160, + }, + { + yieldClass: 4, + age: 80, + stock: 204, + }, + { + yieldClass: 4, + age: 90, + stock: 250, + }, + { + yieldClass: 4, + age: 100, + stock: 297, + }, + { + yieldClass: 4, + age: 110, + stock: 343, + }, + { + yieldClass: 4, + age: 120, + stock: 389, + }, + { + yieldClass: 4, + age: 130, + stock: 433, + }, + { + yieldClass: 4, + age: 140, + stock: 476, + }, + { + yieldClass: 4, + age: 150, + stock: 517, + }, + { + yieldClass: 4, + age: 160, + stock: 555, + }, + { + yieldClass: 4, + age: 170, + stock: 592, + }, + { + yieldClass: 4, + age: 180, + stock: 626, + }, + { + yieldClass: 4, + age: 190, + stock: 659, + }, + { + yieldClass: 4, + age: 200, + stock: 689, + }, + { + yieldClass: 4, + age: 210, + stock: 717, + }, + { + yieldClass: 4, + age: 220, + stock: 743, + }, + { + yieldClass: 4, + age: 230, + stock: 768, + }, + { + yieldClass: 4, + age: 240, + stock: 790, + }, + { + yieldClass: 4, + age: 250, + stock: 811, + }, + { + yieldClass: 5, + age: 30, + stock: 26, + }, + { + yieldClass: 5, + age: 40, + stock: 62, + }, + { + yieldClass: 5, + age: 50, + stock: 100, + }, + { + yieldClass: 5, + age: 60, + stock: 143, + }, + { + yieldClass: 5, + age: 70, + stock: 190, + }, + { + yieldClass: 5, + age: 80, + stock: 239, + }, + { + yieldClass: 5, + age: 90, + stock: 290, + }, + { + yieldClass: 5, + age: 100, + stock: 341, + }, + { + yieldClass: 5, + age: 110, + stock: 391, + }, + { + yieldClass: 5, + age: 120, + stock: 439, + }, + { + yieldClass: 5, + age: 130, + stock: 486, + }, + { + yieldClass: 5, + age: 140, + stock: 530, + }, + { + yieldClass: 5, + age: 150, + stock: 572, + }, + { + yieldClass: 5, + age: 160, + stock: 611, + }, + { + yieldClass: 5, + age: 170, + stock: 648, + }, + { + yieldClass: 5, + age: 180, + stock: 682, + }, + { + yieldClass: 5, + age: 190, + stock: 714, + }, + { + yieldClass: 5, + age: 200, + stock: 743, + }, + { + yieldClass: 5, + age: 210, + stock: 770, + }, + { + yieldClass: 5, + age: 220, + stock: 795, + }, + { + yieldClass: 5, + age: 230, + stock: 818, + }, + { + yieldClass: 5, + age: 240, + stock: 839, + }, + { + yieldClass: 5, + age: 250, + stock: 858, + }, + { + yieldClass: 6, + age: 30, + stock: 38, + }, + { + yieldClass: 6, + age: 40, + stock: 81, + }, + { + yieldClass: 6, + age: 50, + stock: 127, + }, + { + yieldClass: 6, + age: 60, + stock: 177, + }, + { + yieldClass: 6, + age: 70, + stock: 231, + }, + { + yieldClass: 6, + age: 80, + stock: 288, + }, + { + yieldClass: 6, + age: 90, + stock: 345, + }, + { + yieldClass: 6, + age: 100, + stock: 401, + }, + { + yieldClass: 6, + age: 110, + stock: 455, + }, + { + yieldClass: 6, + age: 120, + stock: 507, + }, + { + yieldClass: 6, + age: 130, + stock: 555, + }, + { + yieldClass: 6, + age: 140, + stock: 601, + }, + { + yieldClass: 6, + age: 150, + stock: 644, + }, + { + yieldClass: 6, + age: 160, + stock: 683, + }, + { + yieldClass: 6, + age: 170, + stock: 720, + }, + { + yieldClass: 6, + age: 180, + stock: 753, + }, + { + yieldClass: 6, + age: 190, + stock: 783, + }, + { + yieldClass: 6, + age: 200, + stock: 811, + }, + { + yieldClass: 6, + age: 210, + stock: 836, + }, + { + yieldClass: 6, + age: 220, + stock: 859, + }, + { + yieldClass: 6, + age: 230, + stock: 879, + }, + { + yieldClass: 6, + age: 240, + stock: 898, + }, + { + yieldClass: 7, + age: 30, + stock: 52, + }, + { + yieldClass: 7, + age: 40, + stock: 102, + }, + { + yieldClass: 7, + age: 50, + stock: 155, + }, + { + yieldClass: 7, + age: 60, + stock: 212, + }, + { + yieldClass: 7, + age: 70, + stock: 274, + }, + { + yieldClass: 7, + age: 80, + stock: 337, + }, + { + yieldClass: 7, + age: 90, + stock: 399, + }, + { + yieldClass: 7, + age: 100, + stock: 460, + }, + { + yieldClass: 7, + age: 110, + stock: 517, + }, + { + yieldClass: 7, + age: 120, + stock: 572, + }, + { + yieldClass: 7, + age: 130, + stock: 622, + }, + { + yieldClass: 7, + age: 140, + stock: 669, + }, + { + yieldClass: 7, + age: 150, + stock: 712, + }, + { + yieldClass: 7, + age: 160, + stock: 751, + }, + { + yieldClass: 7, + age: 170, + stock: 786, + }, + { + yieldClass: 7, + age: 180, + stock: 817, + }, + { + yieldClass: 7, + age: 190, + stock: 846, + }, + { + yieldClass: 7, + age: 200, + stock: 871, + }, + { + yieldClass: 7, + age: 210, + stock: 893, + }, + { + yieldClass: 8, + age: 30, + stock: 68, + }, + { + yieldClass: 8, + age: 40, + stock: 124, + }, + { + yieldClass: 8, + age: 50, + stock: 183, + }, + { + yieldClass: 8, + age: 60, + stock: 248, + }, + { + yieldClass: 8, + age: 70, + stock: 317, + }, + { + yieldClass: 8, + age: 80, + stock: 386, + }, + { + yieldClass: 8, + age: 90, + stock: 453, + }, + { + yieldClass: 8, + age: 100, + stock: 518, + }, + { + yieldClass: 8, + age: 110, + stock: 579, + }, + { + yieldClass: 8, + age: 120, + stock: 635, + }, + { + yieldClass: 8, + age: 130, + stock: 687, + }, + { + yieldClass: 8, + age: 140, + stock: 734, + }, + { + yieldClass: 8, + age: 150, + stock: 776, + }, + { + yieldClass: 8, + age: 160, + stock: 813, + }, + { + yieldClass: 8, + age: 170, + stock: 846, + }, + { + yieldClass: 8, + age: 180, + stock: 876, + }, + { + yieldClass: 8, + age: 190, + stock: 901, + }, + { + yieldClass: 9, + age: 30, + stock: 84, + }, + { + yieldClass: 9, + age: 40, + stock: 146, + }, + { + yieldClass: 9, + age: 50, + stock: 212, + }, + { + yieldClass: 9, + age: 60, + stock: 285, + }, + { + yieldClass: 9, + age: 70, + stock: 360, + }, + { + yieldClass: 9, + age: 80, + stock: 435, + }, + { + yieldClass: 9, + age: 90, + stock: 507, + }, + { + yieldClass: 9, + age: 100, + stock: 576, + }, + { + yieldClass: 9, + age: 110, + stock: 639, + }, + { + yieldClass: 9, + age: 120, + stock: 696, + }, + { + yieldClass: 9, + age: 130, + stock: 748, + }, + { + yieldClass: 9, + age: 140, + stock: 794, + }, + { + yieldClass: 9, + age: 150, + stock: 835, + }, + { + yieldClass: 9, + age: 160, + stock: 870, + }, + { + yieldClass: 9, + age: 170, + stock: 901, + }, + { + yieldClass: 9, + age: 180, + stock: 927, + }, + { + yieldClass: 10, + age: 30, + stock: 100, + }, + { + yieldClass: 10, + age: 40, + stock: 168, + }, + { + yieldClass: 10, + age: 50, + stock: 242, + }, + { + yieldClass: 10, + age: 60, + stock: 322, + }, + { + yieldClass: 10, + age: 70, + stock: 404, + }, + { + yieldClass: 10, + age: 80, + stock: 485, + }, + { + yieldClass: 10, + age: 90, + stock: 562, + }, + { + yieldClass: 10, + age: 100, + stock: 633, + }, + { + yieldClass: 10, + age: 110, + stock: 698, + }, + { + yieldClass: 10, + age: 120, + stock: 756, + }, + { + yieldClass: 10, + age: 130, + stock: 807, + }, + { + yieldClass: 10, + age: 140, + stock: 852, + }, + { + yieldClass: 10, + age: 150, + stock: 890, + }, + { + yieldClass: 10, + age: 160, + stock: 923, + }, + { + yieldClass: 11, + age: 30, + stock: 117, + }, + { + yieldClass: 11, + age: 40, + stock: 191, + }, + { + yieldClass: 11, + age: 50, + stock: 271, + }, + { + yieldClass: 11, + age: 60, + stock: 358, + }, + { + yieldClass: 11, + age: 70, + stock: 447, + }, + { + yieldClass: 11, + age: 80, + stock: 534, + }, + { + yieldClass: 11, + age: 90, + stock: 615, + }, + { + yieldClass: 11, + age: 100, + stock: 690, + }, + { + yieldClass: 11, + age: 110, + stock: 756, + }, + { + yieldClass: 11, + age: 120, + stock: 813, + }, + { + yieldClass: 11, + age: 130, + stock: 863, + }, + { + yieldClass: 11, + age: 140, + stock: 905, + }, + { + yieldClass: 11, + age: 150, + stock: 941, + }, + { + yieldClass: 12, + age: 30, + stock: 133, + }, + { + yieldClass: 12, + age: 40, + stock: 212, + }, + { + yieldClass: 12, + age: 50, + stock: 300, + }, + { + yieldClass: 12, + age: 60, + stock: 395, + }, + { + yieldClass: 12, + age: 70, + stock: 491, + }, + { + yieldClass: 12, + age: 80, + stock: 583, + }, + { + yieldClass: 12, + age: 90, + stock: 668, + }, + { + yieldClass: 12, + age: 100, + stock: 744, + }, + { + yieldClass: 12, + age: 110, + stock: 811, + }, + { + yieldClass: 12, + age: 120, + stock: 868, + }, + { + yieldClass: 12, + age: 130, + stock: 916, + }, + { + yieldClass: 12, + age: 140, + stock: 955, + }, + { + yieldClass: 13, + age: 30, + stock: 149, + }, + { + yieldClass: 13, + age: 40, + stock: 234, + }, + { + yieldClass: 13, + age: 50, + stock: 329, + }, + { + yieldClass: 13, + age: 60, + stock: 432, + }, + { + yieldClass: 13, + age: 70, + stock: 535, + }, + { + yieldClass: 13, + age: 80, + stock: 632, + }, + { + yieldClass: 13, + age: 90, + stock: 720, + }, + { + yieldClass: 13, + age: 100, + stock: 798, + }, + { + yieldClass: 13, + age: 110, + stock: 864, + }, + { + yieldClass: 13, + age: 120, + stock: 919, + }, + { + yieldClass: 13, + age: 130, + stock: 964, + }, + { + yieldClass: 14, + age: 30, + stock: 163, + }, + { + yieldClass: 14, + age: 40, + stock: 254, + }, + { + yieldClass: 14, + age: 50, + stock: 357, + }, + { + yieldClass: 14, + age: 60, + stock: 468, + }, + { + yieldClass: 14, + age: 70, + stock: 577, + }, + { + yieldClass: 14, + age: 80, + stock: 680, + }, + { + yieldClass: 14, + age: 90, + stock: 771, + }, + { + yieldClass: 14, + age: 100, + stock: 849, + }, + { + yieldClass: 14, + age: 110, + stock: 914, + }, + { + yieldClass: 14, + age: 120, + stock: 967, + }, + { + yieldClass: 15, + age: 30, + stock: 177, + }, + { + yieldClass: 15, + age: 40, + stock: 273, + }, + { + yieldClass: 15, + age: 50, + stock: 385, + }, + { + yieldClass: 15, + age: 60, + stock: 504, + }, + { + yieldClass: 15, + age: 70, + stock: 620, + }, + { + yieldClass: 15, + age: 80, + stock: 727, + }, + { + yieldClass: 15, + age: 90, + stock: 820, + }, + { + yieldClass: 15, + age: 100, + stock: 898, + }, + { + yieldClass: 15, + age: 110, + stock: 962, + }, + ], +}; + +export default at_tirol_fichteSilikatErtragsniveauMittel; diff --git a/src/constants/yieldTables/at_tirol_kieferSuedtirol.ts b/src/constants/yieldTables/at_tirol_kieferSuedtirol.ts new file mode 100644 index 0000000..6b8dc62 --- /dev/null +++ b/src/constants/yieldTables/at_tirol_kieferSuedtirol.ts @@ -0,0 +1,1076 @@ +import YieldTable from '@/models/YieldTable'; + +const at_tirol_kieferSuedtirol: YieldTable = { + meta: { + title: 'Kiefer (Südtirol)', + author: 'Amt der Tiroler Landesregierung', + copyright: + 'Amt der Tiroler Landesregierung, Eduard-Wallnöfer-Platz 3, 6020 Innsbruck, Erscheinungsjahr 2004', + source: 'Ertragstafeln für Tirol', + sourceLink: 'https://www.tirol.gv.at/umwelt/wald/waldwirtschaft/ertragstafeln-in-tirol/', + }, + rows: [ + { + yieldClass: 2, + age: 100, + stock: 159, + }, + { + yieldClass: 2, + age: 110, + stock: 175, + }, + { + yieldClass: 2, + age: 120, + stock: 189, + }, + { + yieldClass: 2, + age: 130, + stock: 202, + }, + { + yieldClass: 2, + age: 140, + stock: 214, + }, + { + yieldClass: 2, + age: 150, + stock: 224, + }, + { + yieldClass: 2, + age: 160, + stock: 233, + }, + { + yieldClass: 2, + age: 170, + stock: 242, + }, + { + yieldClass: 2, + age: 180, + stock: 249, + }, + { + yieldClass: 2, + age: 190, + stock: 256, + }, + { + yieldClass: 2, + age: 200, + stock: 261, + }, + { + yieldClass: 2, + age: 210, + stock: 267, + }, + { + yieldClass: 2, + age: 220, + stock: 271, + }, + { + yieldClass: 2, + age: 230, + stock: 276, + }, + { + yieldClass: 2, + age: 240, + stock: 279, + }, + { + yieldClass: 2, + age: 250, + stock: 283, + }, + { + yieldClass: 3, + age: 70, + stock: 158, + }, + { + yieldClass: 3, + age: 80, + stock: 185, + }, + { + yieldClass: 3, + age: 90, + stock: 209, + }, + { + yieldClass: 3, + age: 100, + stock: 230, + }, + { + yieldClass: 3, + age: 110, + stock: 249, + }, + { + yieldClass: 3, + age: 120, + stock: 265, + }, + { + yieldClass: 3, + age: 130, + stock: 279, + }, + { + yieldClass: 3, + age: 140, + stock: 291, + }, + { + yieldClass: 3, + age: 150, + stock: 302, + }, + { + yieldClass: 3, + age: 160, + stock: 311, + }, + { + yieldClass: 3, + age: 170, + stock: 318, + }, + { + yieldClass: 3, + age: 180, + stock: 325, + }, + { + yieldClass: 3, + age: 190, + stock: 331, + }, + { + yieldClass: 3, + age: 200, + stock: 336, + }, + { + yieldClass: 3, + age: 210, + stock: 340, + }, + { + yieldClass: 3, + age: 220, + stock: 344, + }, + { + yieldClass: 3, + age: 230, + stock: 347, + }, + { + yieldClass: 3, + age: 240, + stock: 349, + }, + { + yieldClass: 3, + age: 250, + stock: 352, + }, + { + yieldClass: 4, + age: 60, + stock: 180, + }, + { + yieldClass: 4, + age: 70, + stock: 215, + }, + { + yieldClass: 4, + age: 80, + stock: 246, + }, + { + yieldClass: 4, + age: 90, + stock: 273, + }, + { + yieldClass: 4, + age: 100, + stock: 297, + }, + { + yieldClass: 4, + age: 110, + stock: 317, + }, + { + yieldClass: 4, + age: 120, + stock: 334, + }, + { + yieldClass: 4, + age: 130, + stock: 347, + }, + { + yieldClass: 4, + age: 140, + stock: 359, + }, + { + yieldClass: 4, + age: 150, + stock: 369, + }, + { + yieldClass: 4, + age: 160, + stock: 376, + }, + { + yieldClass: 4, + age: 170, + stock: 383, + }, + { + yieldClass: 4, + age: 180, + stock: 388, + }, + { + yieldClass: 4, + age: 190, + stock: 393, + }, + { + yieldClass: 4, + age: 200, + stock: 396, + }, + { + yieldClass: 4, + age: 210, + stock: 399, + }, + { + yieldClass: 4, + age: 220, + stock: 401, + }, + { + yieldClass: 4, + age: 230, + stock: 403, + }, + { + yieldClass: 4, + age: 240, + stock: 405, + }, + { + yieldClass: 4, + age: 250, + stock: 406, + }, + { + yieldClass: 5, + age: 40, + stock: 134, + }, + { + yieldClass: 5, + age: 50, + stock: 183, + }, + { + yieldClass: 5, + age: 60, + stock: 229, + }, + { + yieldClass: 5, + age: 70, + stock: 270, + }, + { + yieldClass: 5, + age: 80, + stock: 306, + }, + { + yieldClass: 5, + age: 90, + stock: 336, + }, + { + yieldClass: 5, + age: 100, + stock: 361, + }, + { + yieldClass: 5, + age: 110, + stock: 382, + }, + { + yieldClass: 5, + age: 120, + stock: 399, + }, + { + yieldClass: 5, + age: 130, + stock: 412, + }, + { + yieldClass: 5, + age: 140, + stock: 423, + }, + { + yieldClass: 5, + age: 150, + stock: 431, + }, + { + yieldClass: 5, + age: 160, + stock: 438, + }, + { + yieldClass: 5, + age: 170, + stock: 443, + }, + { + yieldClass: 5, + age: 180, + stock: 447, + }, + { + yieldClass: 5, + age: 190, + stock: 450, + }, + { + yieldClass: 5, + age: 200, + stock: 452, + }, + { + yieldClass: 5, + age: 210, + stock: 454, + }, + { + yieldClass: 5, + age: 220, + stock: 455, + }, + { + yieldClass: 5, + age: 230, + stock: 456, + }, + { + yieldClass: 5, + age: 240, + stock: 457, + }, + { + yieldClass: 5, + age: 250, + stock: 457, + }, + { + yieldClass: 7, + age: 40, + stock: 167, + }, + { + yieldClass: 7, + age: 50, + stock: 225, + }, + { + yieldClass: 7, + age: 60, + stock: 278, + }, + { + yieldClass: 7, + age: 70, + stock: 325, + }, + { + yieldClass: 7, + age: 80, + stock: 365, + }, + { + yieldClass: 7, + age: 90, + stock: 399, + }, + { + yieldClass: 7, + age: 100, + stock: 426, + }, + { + yieldClass: 7, + age: 110, + stock: 448, + }, + { + yieldClass: 7, + age: 120, + stock: 465, + }, + { + yieldClass: 7, + age: 130, + stock: 479, + }, + { + yieldClass: 7, + age: 140, + stock: 489, + }, + { + yieldClass: 7, + age: 150, + stock: 497, + }, + { + yieldClass: 7, + age: 160, + stock: 503, + }, + { + yieldClass: 7, + age: 170, + stock: 507, + }, + { + yieldClass: 7, + age: 180, + stock: 510, + }, + { + yieldClass: 7, + age: 190, + stock: 512, + }, + { + yieldClass: 7, + age: 200, + stock: 514, + }, + { + yieldClass: 7, + age: 210, + stock: 515, + }, + { + yieldClass: 7, + age: 220, + stock: 516, + }, + { + yieldClass: 7, + age: 230, + stock: 516, + }, + { + yieldClass: 7, + age: 240, + stock: 517, + }, + { + yieldClass: 7, + age: 250, + stock: 517, + }, + { + yieldClass: 8, + age: 40, + stock: 200, + }, + { + yieldClass: 8, + age: 50, + stock: 267, + }, + { + yieldClass: 8, + age: 60, + stock: 329, + }, + { + yieldClass: 8, + age: 70, + stock: 383, + }, + { + yieldClass: 8, + age: 80, + stock: 429, + }, + { + yieldClass: 8, + age: 90, + stock: 467, + }, + { + yieldClass: 8, + age: 100, + stock: 498, + }, + { + yieldClass: 8, + age: 110, + stock: 522, + }, + { + yieldClass: 8, + age: 120, + stock: 540, + }, + { + yieldClass: 8, + age: 130, + stock: 555, + }, + { + yieldClass: 8, + age: 140, + stock: 565, + }, + { + yieldClass: 8, + age: 150, + stock: 574, + }, + { + yieldClass: 8, + age: 160, + stock: 580, + }, + { + yieldClass: 8, + age: 170, + stock: 584, + }, + { + yieldClass: 8, + age: 180, + stock: 587, + }, + { + yieldClass: 8, + age: 190, + stock: 589, + }, + { + yieldClass: 8, + age: 200, + stock: 591, + }, + { + yieldClass: 8, + age: 210, + stock: 592, + }, + { + yieldClass: 8, + age: 220, + stock: 593, + }, + { + yieldClass: 8, + age: 230, + stock: 593, + }, + { + yieldClass: 8, + age: 240, + stock: 594, + }, + { + yieldClass: 8, + age: 250, + stock: 594, + }, + { + yieldClass: 9, + age: 40, + stock: 236, + }, + { + yieldClass: 9, + age: 50, + stock: 314, + }, + { + yieldClass: 9, + age: 60, + stock: 385, + }, + { + yieldClass: 9, + age: 70, + stock: 449, + }, + { + yieldClass: 9, + age: 80, + stock: 502, + }, + { + yieldClass: 9, + age: 90, + stock: 546, + }, + { + yieldClass: 9, + age: 100, + stock: 581, + }, + { + yieldClass: 9, + age: 110, + stock: 609, + }, + { + yieldClass: 9, + age: 120, + stock: 631, + }, + { + yieldClass: 9, + age: 130, + stock: 647, + }, + { + yieldClass: 9, + age: 140, + stock: 659, + }, + { + yieldClass: 9, + age: 150, + stock: 669, + }, + { + yieldClass: 9, + age: 160, + stock: 676, + }, + { + yieldClass: 9, + age: 170, + stock: 681, + }, + { + yieldClass: 9, + age: 180, + stock: 685, + }, + { + yieldClass: 9, + age: 190, + stock: 688, + }, + { + yieldClass: 9, + age: 200, + stock: 690, + }, + { + yieldClass: 9, + age: 210, + stock: 692, + }, + { + yieldClass: 9, + age: 220, + stock: 693, + }, + { + yieldClass: 9, + age: 230, + stock: 694, + }, + { + yieldClass: 9, + age: 240, + stock: 695, + }, + { + yieldClass: 9, + age: 250, + stock: 695, + }, + { + yieldClass: 11, + age: 30, + stock: 185, + }, + { + yieldClass: 11, + age: 40, + stock: 278, + }, + { + yieldClass: 11, + age: 50, + stock: 368, + }, + { + yieldClass: 11, + age: 60, + stock: 452, + }, + { + yieldClass: 11, + age: 70, + stock: 526, + }, + { + yieldClass: 11, + age: 80, + stock: 589, + }, + { + yieldClass: 11, + age: 90, + stock: 641, + }, + { + yieldClass: 11, + age: 100, + stock: 682, + }, + { + yieldClass: 11, + age: 110, + stock: 715, + }, + { + yieldClass: 11, + age: 120, + stock: 740, + }, + { + yieldClass: 11, + age: 130, + stock: 760, + }, + { + yieldClass: 11, + age: 140, + stock: 775, + }, + { + yieldClass: 11, + age: 150, + stock: 787, + }, + { + yieldClass: 11, + age: 160, + stock: 796, + }, + { + yieldClass: 11, + age: 170, + stock: 803, + }, + { + yieldClass: 11, + age: 180, + stock: 808, + }, + { + yieldClass: 11, + age: 190, + stock: 812, + }, + { + yieldClass: 11, + age: 200, + stock: 816, + }, + { + yieldClass: 11, + age: 210, + stock: 818, + }, + { + yieldClass: 11, + age: 220, + stock: 820, + }, + { + yieldClass: 11, + age: 230, + stock: 822, + }, + { + yieldClass: 11, + age: 240, + stock: 823, + }, + { + yieldClass: 11, + age: 250, + stock: 824, + }, + { + yieldClass: 12, + age: 30, + stock: 218, + }, + { + yieldClass: 12, + age: 40, + stock: 326, + }, + { + yieldClass: 12, + age: 50, + stock: 432, + }, + { + yieldClass: 12, + age: 60, + stock: 530, + }, + { + yieldClass: 12, + age: 70, + stock: 616, + }, + { + yieldClass: 12, + age: 80, + stock: 690, + }, + { + yieldClass: 12, + age: 90, + stock: 751, + }, + { + yieldClass: 12, + age: 100, + stock: 800, + }, + { + yieldClass: 12, + age: 110, + stock: 839, + }, + { + yieldClass: 12, + age: 120, + stock: 869, + }, + { + yieldClass: 12, + age: 130, + stock: 894, + }, + { + yieldClass: 12, + age: 140, + stock: 913, + }, + { + yieldClass: 12, + age: 150, + stock: 928, + }, + { + yieldClass: 12, + age: 160, + stock: 939, + }, + { + yieldClass: 12, + age: 170, + stock: 948, + }, + { + yieldClass: 12, + age: 180, + stock: 956, + }, + { + yieldClass: 12, + age: 190, + stock: 961, + }, + { + yieldClass: 12, + age: 200, + stock: 966, + }, + { + yieldClass: 12, + age: 210, + stock: 970, + }, + { + yieldClass: 12, + age: 220, + stock: 973, + }, + { + yieldClass: 12, + age: 230, + stock: 975, + }, + { + yieldClass: 12, + age: 240, + stock: 977, + }, + { + yieldClass: 12, + age: 250, + stock: 979, + }, + { + yieldClass: 13, + age: 30, + stock: 257, + }, + { + yieldClass: 13, + age: 40, + stock: 382, + }, + { + yieldClass: 13, + age: 50, + stock: 505, + }, + { + yieldClass: 13, + age: 60, + stock: 618, + }, + { + yieldClass: 13, + age: 70, + stock: 719, + }, + { + yieldClass: 13, + age: 80, + stock: 804, + }, + { + yieldClass: 13, + age: 90, + stock: 875, + }, + { + yieldClass: 13, + age: 100, + stock: 933, + }, + { + yieldClass: 13, + age: 110, + stock: 980, + }, + { + yieldClass: 13, + age: 120, + stock: 1017, + }, + { + yieldClass: 13, + age: 130, + stock: 1047, + }, + { + yieldClass: 13, + age: 140, + stock: 1070, + }, + { + yieldClass: 13, + age: 150, + stock: 1089, + }, + { + yieldClass: 13, + age: 160, + stock: 1104, + }, + { + yieldClass: 13, + age: 170, + stock: 1116, + }, + { + yieldClass: 13, + age: 180, + stock: 1125, + }, + { + yieldClass: 13, + age: 190, + stock: 1133, + }, + { + yieldClass: 13, + age: 200, + stock: 1140, + }, + { + yieldClass: 13, + age: 210, + stock: 1145, + }, + { + yieldClass: 13, + age: 220, + stock: 1149, + }, + { + yieldClass: 13, + age: 230, + stock: 1152, + }, + { + yieldClass: 13, + age: 240, + stock: 1155, + }, + { + yieldClass: 13, + age: 250, + stock: 1158, + }, + ], +}; + +export default at_tirol_kieferSuedtirol; diff --git a/src/constants/yieldTables/at_tirol_laercheSuedtirol.ts b/src/constants/yieldTables/at_tirol_laercheSuedtirol.ts new file mode 100644 index 0000000..0b64767 --- /dev/null +++ b/src/constants/yieldTables/at_tirol_laercheSuedtirol.ts @@ -0,0 +1,996 @@ +import YieldTable from '@/models/YieldTable'; + +const at_tirol_laercheSuedtirol: YieldTable = { + meta: { + title: 'Lärche (Südtirol)', + author: 'Amt der Tiroler Landesregierung', + copyright: + 'Amt der Tiroler Landesregierung, Eduard-Wallnöfer-Platz 3, 6020 Innsbruck, Erscheinungsjahr 2004', + source: 'Ertragstafeln für Tirol', + sourceLink: 'https://www.tirol.gv.at/umwelt/wald/waldwirtschaft/ertragstafeln-in-tirol/', + }, + rows: [ + { + yieldClass: 2, + age: 70, + stock: 70, + }, + { + yieldClass: 2, + age: 80, + stock: 88, + }, + { + yieldClass: 2, + age: 90, + stock: 107, + }, + { + yieldClass: 2, + age: 100, + stock: 125, + }, + { + yieldClass: 2, + age: 110, + stock: 142, + }, + { + yieldClass: 2, + age: 120, + stock: 156, + }, + { + yieldClass: 2, + age: 130, + stock: 169, + }, + { + yieldClass: 2, + age: 140, + stock: 181, + }, + { + yieldClass: 2, + age: 150, + stock: 190, + }, + { + yieldClass: 2, + age: 160, + stock: 198, + }, + { + yieldClass: 2, + age: 170, + stock: 205, + }, + { + yieldClass: 2, + age: 180, + stock: 210, + }, + { + yieldClass: 2, + age: 190, + stock: 214, + }, + { + yieldClass: 2, + age: 200, + stock: 217, + }, + { + yieldClass: 2, + age: 210, + stock: 219, + }, + { + yieldClass: 2, + age: 220, + stock: 220, + }, + { + yieldClass: 2, + age: 230, + stock: 221, + }, + { + yieldClass: 2, + age: 240, + stock: 221, + }, + { + yieldClass: 2, + age: 250, + stock: 220, + }, + { + yieldClass: 3, + age: 60, + stock: 88, + }, + { + yieldClass: 3, + age: 70, + stock: 117, + }, + { + yieldClass: 3, + age: 80, + stock: 145, + }, + { + yieldClass: 3, + age: 90, + stock: 170, + }, + { + yieldClass: 3, + age: 100, + stock: 194, + }, + { + yieldClass: 3, + age: 110, + stock: 214, + }, + { + yieldClass: 3, + age: 120, + stock: 232, + }, + { + yieldClass: 3, + age: 130, + stock: 248, + }, + { + yieldClass: 3, + age: 140, + stock: 261, + }, + { + yieldClass: 3, + age: 150, + stock: 271, + }, + { + yieldClass: 3, + age: 160, + stock: 279, + }, + { + yieldClass: 3, + age: 170, + stock: 286, + }, + { + yieldClass: 3, + age: 180, + stock: 290, + }, + { + yieldClass: 3, + age: 190, + stock: 294, + }, + { + yieldClass: 3, + age: 200, + stock: 295, + }, + { + yieldClass: 3, + age: 210, + stock: 296, + }, + { + yieldClass: 3, + age: 220, + stock: 296, + }, + { + yieldClass: 3, + age: 230, + stock: 295, + }, + { + yieldClass: 3, + age: 240, + stock: 294, + }, + { + yieldClass: 3, + age: 250, + stock: 292, + }, + { + yieldClass: 4, + age: 50, + stock: 95, + }, + { + yieldClass: 4, + age: 60, + stock: 133, + }, + { + yieldClass: 4, + age: 70, + stock: 170, + }, + { + yieldClass: 4, + age: 80, + stock: 204, + }, + { + yieldClass: 4, + age: 90, + stock: 235, + }, + { + yieldClass: 4, + age: 100, + stock: 263, + }, + { + yieldClass: 4, + age: 110, + stock: 287, + }, + { + yieldClass: 4, + age: 120, + stock: 307, + }, + { + yieldClass: 4, + age: 130, + stock: 324, + }, + { + yieldClass: 4, + age: 140, + stock: 338, + }, + { + yieldClass: 4, + age: 150, + stock: 349, + }, + { + yieldClass: 4, + age: 160, + stock: 358, + }, + { + yieldClass: 4, + age: 170, + stock: 364, + }, + { + yieldClass: 4, + age: 180, + stock: 369, + }, + { + yieldClass: 4, + age: 190, + stock: 372, + }, + { + yieldClass: 4, + age: 200, + stock: 373, + }, + { + yieldClass: 4, + age: 210, + stock: 374, + }, + { + yieldClass: 4, + age: 220, + stock: 374, + }, + { + yieldClass: 4, + age: 230, + stock: 373, + }, + { + yieldClass: 4, + age: 240, + stock: 371, + }, + { + yieldClass: 4, + age: 250, + stock: 369, + }, + { + yieldClass: 5, + age: 40, + stock: 89, + }, + { + yieldClass: 5, + age: 50, + stock: 136, + }, + { + yieldClass: 5, + age: 60, + stock: 183, + }, + { + yieldClass: 5, + age: 70, + stock: 226, + }, + { + yieldClass: 5, + age: 80, + stock: 266, + }, + { + yieldClass: 5, + age: 90, + stock: 302, + }, + { + yieldClass: 5, + age: 100, + stock: 334, + }, + { + yieldClass: 5, + age: 110, + stock: 360, + }, + { + yieldClass: 5, + age: 120, + stock: 383, + }, + { + yieldClass: 5, + age: 130, + stock: 402, + }, + { + yieldClass: 5, + age: 140, + stock: 417, + }, + { + yieldClass: 5, + age: 150, + stock: 429, + }, + { + yieldClass: 5, + age: 160, + stock: 438, + }, + { + yieldClass: 5, + age: 170, + stock: 445, + }, + { + yieldClass: 5, + age: 180, + stock: 450, + }, + { + yieldClass: 5, + age: 190, + stock: 454, + }, + { + yieldClass: 5, + age: 200, + stock: 456, + }, + { + yieldClass: 5, + age: 210, + stock: 457, + }, + { + yieldClass: 5, + age: 220, + stock: 458, + }, + { + yieldClass: 5, + age: 230, + stock: 458, + }, + { + yieldClass: 5, + age: 240, + stock: 457, + }, + { + yieldClass: 5, + age: 250, + stock: 456, + }, + { + yieldClass: 6, + age: 30, + stock: 72, + }, + { + yieldClass: 6, + age: 40, + stock: 126, + }, + { + yieldClass: 6, + age: 50, + stock: 183, + }, + { + yieldClass: 6, + age: 60, + stock: 238, + }, + { + yieldClass: 6, + age: 70, + stock: 288, + }, + { + yieldClass: 6, + age: 80, + stock: 334, + }, + { + yieldClass: 6, + age: 90, + stock: 374, + }, + { + yieldClass: 6, + age: 100, + stock: 408, + }, + { + yieldClass: 6, + age: 110, + stock: 437, + }, + { + yieldClass: 6, + age: 120, + stock: 462, + }, + { + yieldClass: 6, + age: 130, + stock: 482, + }, + { + yieldClass: 6, + age: 140, + stock: 498, + }, + { + yieldClass: 6, + age: 150, + stock: 511, + }, + { + yieldClass: 6, + age: 160, + stock: 521, + }, + { + yieldClass: 6, + age: 170, + stock: 529, + }, + { + yieldClass: 6, + age: 180, + stock: 535, + }, + { + yieldClass: 6, + age: 190, + stock: 540, + }, + { + yieldClass: 6, + age: 200, + stock: 544, + }, + { + yieldClass: 6, + age: 210, + stock: 546, + }, + { + yieldClass: 6, + age: 220, + stock: 548, + }, + { + yieldClass: 6, + age: 230, + stock: 549, + }, + { + yieldClass: 6, + age: 240, + stock: 550, + }, + { + yieldClass: 6, + age: 250, + stock: 550, + }, + { + yieldClass: 7, + age: 30, + stock: 99, + }, + { + yieldClass: 7, + age: 40, + stock: 169, + }, + { + yieldClass: 7, + age: 50, + stock: 236, + }, + { + yieldClass: 7, + age: 60, + stock: 299, + }, + { + yieldClass: 7, + age: 70, + stock: 356, + }, + { + yieldClass: 7, + age: 80, + stock: 406, + }, + { + yieldClass: 7, + age: 90, + stock: 450, + }, + { + yieldClass: 7, + age: 100, + stock: 487, + }, + { + yieldClass: 7, + age: 110, + stock: 518, + }, + { + yieldClass: 7, + age: 120, + stock: 543, + }, + { + yieldClass: 7, + age: 130, + stock: 565, + }, + { + yieldClass: 7, + age: 140, + stock: 582, + }, + { + yieldClass: 7, + age: 150, + stock: 596, + }, + { + yieldClass: 7, + age: 160, + stock: 607, + }, + { + yieldClass: 7, + age: 170, + stock: 616, + }, + { + yieldClass: 7, + age: 180, + stock: 623, + }, + { + yieldClass: 7, + age: 190, + stock: 629, + }, + { + yieldClass: 7, + age: 200, + stock: 634, + }, + { + yieldClass: 7, + age: 210, + stock: 638, + }, + { + yieldClass: 7, + age: 220, + stock: 641, + }, + { + yieldClass: 7, + age: 230, + stock: 643, + }, + { + yieldClass: 7, + age: 240, + stock: 645, + }, + { + yieldClass: 7, + age: 250, + stock: 646, + }, + { + yieldClass: 9, + age: 30, + stock: 135, + }, + { + yieldClass: 9, + age: 40, + stock: 218, + }, + { + yieldClass: 9, + age: 50, + stock: 295, + }, + { + yieldClass: 9, + age: 60, + stock: 366, + }, + { + yieldClass: 9, + age: 70, + stock: 429, + }, + { + yieldClass: 9, + age: 80, + stock: 484, + }, + { + yieldClass: 9, + age: 90, + stock: 530, + }, + { + yieldClass: 9, + age: 100, + stock: 569, + }, + { + yieldClass: 9, + age: 110, + stock: 602, + }, + { + yieldClass: 9, + age: 120, + stock: 629, + }, + { + yieldClass: 9, + age: 130, + stock: 651, + }, + { + yieldClass: 9, + age: 140, + stock: 669, + }, + { + yieldClass: 9, + age: 150, + stock: 683, + }, + { + yieldClass: 9, + age: 160, + stock: 695, + }, + { + yieldClass: 9, + age: 170, + stock: 705, + }, + { + yieldClass: 9, + age: 180, + stock: 713, + }, + { + yieldClass: 9, + age: 190, + stock: 720, + }, + { + yieldClass: 9, + age: 200, + stock: 725, + }, + { + yieldClass: 9, + age: 210, + stock: 729, + }, + { + yieldClass: 10, + age: 20, + stock: 78, + }, + { + yieldClass: 10, + age: 30, + stock: 177, + }, + { + yieldClass: 10, + age: 40, + stock: 273, + }, + { + yieldClass: 10, + age: 50, + stock: 361, + }, + { + yieldClass: 10, + age: 60, + stock: 440, + }, + { + yieldClass: 10, + age: 70, + stock: 509, + }, + { + yieldClass: 10, + age: 80, + stock: 567, + }, + { + yieldClass: 10, + age: 90, + stock: 616, + }, + { + yieldClass: 10, + age: 100, + stock: 657, + }, + { + yieldClass: 10, + age: 110, + stock: 690, + }, + { + yieldClass: 10, + age: 120, + stock: 717, + }, + { + yieldClass: 10, + age: 130, + stock: 739, + }, + { + yieldClass: 10, + age: 140, + stock: 758, + }, + { + yieldClass: 10, + age: 150, + stock: 773, + }, + { + yieldClass: 10, + age: 160, + stock: 785, + }, + { + yieldClass: 10, + age: 170, + stock: 795, + }, + { + yieldClass: 12, + age: 20, + stock: 108, + }, + { + yieldClass: 12, + age: 30, + stock: 225, + }, + { + yieldClass: 12, + age: 40, + stock: 334, + }, + { + yieldClass: 12, + age: 50, + stock: 433, + }, + { + yieldClass: 12, + age: 60, + stock: 520, + }, + { + yieldClass: 12, + age: 70, + stock: 594, + }, + { + yieldClass: 12, + age: 80, + stock: 656, + }, + { + yieldClass: 12, + age: 90, + stock: 706, + }, + { + yieldClass: 12, + age: 100, + stock: 748, + }, + { + yieldClass: 12, + age: 110, + stock: 782, + }, + { + yieldClass: 12, + age: 120, + stock: 809, + }, + { + yieldClass: 12, + age: 130, + stock: 831, + }, + { + yieldClass: 12, + age: 140, + stock: 849, + }, + { + yieldClass: 14, + age: 20, + stock: 142, + }, + { + yieldClass: 14, + age: 30, + stock: 277, + }, + { + yieldClass: 14, + age: 40, + stock: 402, + }, + { + yieldClass: 14, + age: 50, + stock: 512, + }, + { + yieldClass: 14, + age: 60, + stock: 606, + }, + { + yieldClass: 14, + age: 70, + stock: 685, + }, + { + yieldClass: 14, + age: 80, + stock: 749, + }, + { + yieldClass: 14, + age: 90, + stock: 802, + }, + { + yieldClass: 14, + age: 100, + stock: 844, + }, + { + yieldClass: 14, + age: 110, + stock: 877, + }, + { + yieldClass: 14, + age: 120, + stock: 904, + }, + { + yieldClass: 15, + age: 20, + stock: 181, + }, + { + yieldClass: 15, + age: 30, + stock: 336, + }, + { + yieldClass: 15, + age: 40, + stock: 476, + }, + { + yieldClass: 15, + age: 50, + stock: 597, + }, + { + yieldClass: 15, + age: 60, + stock: 699, + }, + { + yieldClass: 15, + age: 70, + stock: 782, + }, + { + yieldClass: 15, + age: 80, + stock: 849, + }, + { + yieldClass: 15, + age: 90, + stock: 902, + }, + { + yieldClass: 15, + age: 100, + stock: 944, + }, + ], +}; + +export default at_tirol_laercheSuedtirol; diff --git a/src/constants/yieldTables/at_tirol_zirbe.ts b/src/constants/yieldTables/at_tirol_zirbe.ts new file mode 100644 index 0000000..cc9d1a7 --- /dev/null +++ b/src/constants/yieldTables/at_tirol_zirbe.ts @@ -0,0 +1,1031 @@ +import YieldTable from '@/models/YieldTable'; + +const at_tirol_zirbe: YieldTable = { + meta: { + title: 'Zirbe - Murau', + author: 'Amt der Tiroler Landesregierung', + copyright: + 'Amt der Tiroler Landesregierung, Eduard-Wallnöfer-Platz 3, 6020 Innsbruck, Erscheinungsjahr 2004', + source: 'Ertragstafeln für Tirol', + sourceLink: 'https://www.tirol.gv.at/umwelt/wald/waldwirtschaft/ertragstafeln-in-tirol/', + }, + rows: [ + { + yieldClass: 0.4, + age: 110, + stock: 75, + }, + { + yieldClass: 0.4, + age: 120, + stock: 85, + }, + { + yieldClass: 0.4, + age: 130, + stock: 95, + }, + { + yieldClass: 0.4, + age: 140, + stock: 105, + }, + { + yieldClass: 0.4, + age: 150, + stock: 114, + }, + { + yieldClass: 0.4, + age: 160, + stock: 123, + }, + { + yieldClass: 0.4, + age: 170, + stock: 130, + }, + { + yieldClass: 0.4, + age: 180, + stock: 138, + }, + { + yieldClass: 0.4, + age: 190, + stock: 144, + }, + { + yieldClass: 0.4, + age: 200, + stock: 150, + }, + { + yieldClass: 0.4, + age: 210, + stock: 156, + }, + { + yieldClass: 0.4, + age: 220, + stock: 161, + }, + { + yieldClass: 0.4, + age: 230, + stock: 165, + }, + { + yieldClass: 0.4, + age: 240, + stock: 170, + }, + { + yieldClass: 0.4, + age: 250, + stock: 173, + }, + { + yieldClass: 1.4, + age: 80, + stock: 69, + }, + { + yieldClass: 1.4, + age: 90, + stock: 89, + }, + { + yieldClass: 1.4, + age: 100, + stock: 109, + }, + { + yieldClass: 1.4, + age: 110, + stock: 130, + }, + { + yieldClass: 1.4, + age: 120, + stock: 150, + }, + { + yieldClass: 1.4, + age: 130, + stock: 169, + }, + { + yieldClass: 1.4, + age: 140, + stock: 187, + }, + { + yieldClass: 1.4, + age: 150, + stock: 204, + }, + { + yieldClass: 1.4, + age: 160, + stock: 220, + }, + { + yieldClass: 1.4, + age: 170, + stock: 235, + }, + { + yieldClass: 1.4, + age: 180, + stock: 250, + }, + { + yieldClass: 1.4, + age: 190, + stock: 263, + }, + { + yieldClass: 1.4, + age: 200, + stock: 275, + }, + { + yieldClass: 1.4, + age: 210, + stock: 286, + }, + { + yieldClass: 1.4, + age: 220, + stock: 296, + }, + { + yieldClass: 1.4, + age: 230, + stock: 306, + }, + { + yieldClass: 1.4, + age: 240, + stock: 315, + }, + { + yieldClass: 1.4, + age: 250, + stock: 323, + }, + { + yieldClass: 2.1, + age: 70, + stock: 72, + }, + { + yieldClass: 2.1, + age: 80, + stock: 98, + }, + { + yieldClass: 2.1, + age: 90, + stock: 127, + }, + { + yieldClass: 2.1, + age: 100, + stock: 155, + }, + { + yieldClass: 2.1, + age: 110, + stock: 183, + }, + { + yieldClass: 2.1, + age: 120, + stock: 210, + }, + { + yieldClass: 2.1, + age: 130, + stock: 236, + }, + { + yieldClass: 2.1, + age: 140, + stock: 260, + }, + { + yieldClass: 2.1, + age: 150, + stock: 283, + }, + { + yieldClass: 2.1, + age: 160, + stock: 305, + }, + { + yieldClass: 2.1, + age: 170, + stock: 325, + }, + { + yieldClass: 2.1, + age: 180, + stock: 344, + }, + { + yieldClass: 2.1, + age: 190, + stock: 361, + }, + { + yieldClass: 2.1, + age: 200, + stock: 377, + }, + { + yieldClass: 2.1, + age: 210, + stock: 393, + }, + { + yieldClass: 2.1, + age: 220, + stock: 407, + }, + { + yieldClass: 2.1, + age: 230, + stock: 420, + }, + { + yieldClass: 2.1, + age: 240, + stock: 432, + }, + { + yieldClass: 2.1, + age: 250, + stock: 444, + }, + { + yieldClass: 2.8, + age: 70, + stock: 97, + }, + { + yieldClass: 2.8, + age: 80, + stock: 133, + }, + { + yieldClass: 2.8, + age: 90, + stock: 168, + }, + { + yieldClass: 2.8, + age: 100, + stock: 204, + }, + { + yieldClass: 2.8, + age: 110, + stock: 238, + }, + { + yieldClass: 2.8, + age: 120, + stock: 270, + }, + { + yieldClass: 2.8, + age: 130, + stock: 301, + }, + { + yieldClass: 2.8, + age: 140, + stock: 330, + }, + { + yieldClass: 2.8, + age: 150, + stock: 356, + }, + { + yieldClass: 2.8, + age: 160, + stock: 381, + }, + { + yieldClass: 2.8, + age: 170, + stock: 405, + }, + { + yieldClass: 2.8, + age: 180, + stock: 427, + }, + { + yieldClass: 2.8, + age: 190, + stock: 447, + }, + { + yieldClass: 2.8, + age: 200, + stock: 466, + }, + { + yieldClass: 2.8, + age: 210, + stock: 484, + }, + { + yieldClass: 2.8, + age: 220, + stock: 500, + }, + { + yieldClass: 2.8, + age: 230, + stock: 515, + }, + { + yieldClass: 2.8, + age: 240, + stock: 530, + }, + { + yieldClass: 2.8, + age: 250, + stock: 543, + }, + { + yieldClass: 3.7, + age: 60, + stock: 90, + }, + { + yieldClass: 3.7, + age: 70, + stock: 131, + }, + { + yieldClass: 3.7, + age: 80, + stock: 175, + }, + { + yieldClass: 3.7, + age: 90, + stock: 218, + }, + { + yieldClass: 3.7, + age: 100, + stock: 259, + }, + { + yieldClass: 3.7, + age: 110, + stock: 298, + }, + { + yieldClass: 3.7, + age: 120, + stock: 334, + }, + { + yieldClass: 3.7, + age: 130, + stock: 368, + }, + { + yieldClass: 3.7, + age: 140, + stock: 399, + }, + { + yieldClass: 3.7, + age: 150, + stock: 428, + }, + { + yieldClass: 3.7, + age: 160, + stock: 455, + }, + { + yieldClass: 3.7, + age: 170, + stock: 481, + }, + { + yieldClass: 3.7, + age: 180, + stock: 504, + }, + { + yieldClass: 3.7, + age: 190, + stock: 525, + }, + { + yieldClass: 3.7, + age: 200, + stock: 546, + }, + { + yieldClass: 3.7, + age: 210, + stock: 564, + }, + { + yieldClass: 3.7, + age: 220, + stock: 582, + }, + { + yieldClass: 3.7, + age: 230, + stock: 598, + }, + { + yieldClass: 3.7, + age: 240, + stock: 613, + }, + { + yieldClass: 3.7, + age: 250, + stock: 628, + }, + { + yieldClass: 4.9, + age: 50, + stock: 77, + }, + { + yieldClass: 4.9, + age: 60, + stock: 127, + }, + { + yieldClass: 4.9, + age: 70, + stock: 179, + }, + { + yieldClass: 4.9, + age: 80, + stock: 231, + }, + { + yieldClass: 4.9, + age: 90, + stock: 280, + }, + { + yieldClass: 4.9, + age: 100, + stock: 326, + }, + { + yieldClass: 4.9, + age: 110, + stock: 368, + }, + { + yieldClass: 4.9, + age: 120, + stock: 406, + }, + { + yieldClass: 4.9, + age: 130, + stock: 441, + }, + { + yieldClass: 4.9, + age: 140, + stock: 474, + }, + { + yieldClass: 4.9, + age: 150, + stock: 504, + }, + { + yieldClass: 4.9, + age: 160, + stock: 531, + }, + { + yieldClass: 4.9, + age: 170, + stock: 556, + }, + { + yieldClass: 4.9, + age: 180, + stock: 579, + }, + { + yieldClass: 4.9, + age: 190, + stock: 601, + }, + { + yieldClass: 4.9, + age: 200, + stock: 620, + }, + { + yieldClass: 4.9, + age: 210, + stock: 639, + }, + { + yieldClass: 4.9, + age: 220, + stock: 656, + }, + { + yieldClass: 4.9, + age: 230, + stock: 671, + }, + { + yieldClass: 4.9, + age: 240, + stock: 686, + }, + { + yieldClass: 4.9, + age: 250, + stock: 699, + }, + { + yieldClass: 6.8, + age: 50, + stock: 123, + }, + { + yieldClass: 6.8, + age: 60, + stock: 188, + }, + { + yieldClass: 6.8, + age: 70, + stock: 252, + }, + { + yieldClass: 6.8, + age: 80, + stock: 311, + }, + { + yieldClass: 6.8, + age: 90, + stock: 365, + }, + { + yieldClass: 6.8, + age: 100, + stock: 413, + }, + { + yieldClass: 6.8, + age: 110, + stock: 456, + }, + { + yieldClass: 6.8, + age: 120, + stock: 494, + }, + { + yieldClass: 6.8, + age: 130, + stock: 529, + }, + { + yieldClass: 6.8, + age: 140, + stock: 560, + }, + { + yieldClass: 6.8, + age: 150, + stock: 588, + }, + { + yieldClass: 6.8, + age: 160, + stock: 613, + }, + { + yieldClass: 6.8, + age: 170, + stock: 636, + }, + { + yieldClass: 6.8, + age: 180, + stock: 657, + }, + { + yieldClass: 6.8, + age: 190, + stock: 676, + }, + { + yieldClass: 6.8, + age: 200, + stock: 693, + }, + { + yieldClass: 6.8, + age: 210, + stock: 709, + }, + { + yieldClass: 6.8, + age: 220, + stock: 723, + }, + { + yieldClass: 6.8, + age: 230, + stock: 736, + }, + { + yieldClass: 6.8, + age: 240, + stock: 747, + }, + { + yieldClass: 6.8, + age: 250, + stock: 758, + }, + { + yieldClass: 9.7, + age: 40, + stock: 125, + }, + { + yieldClass: 9.7, + age: 50, + stock: 214, + }, + { + yieldClass: 9.7, + age: 60, + stock: 297, + }, + { + yieldClass: 9.7, + age: 70, + stock: 370, + }, + { + yieldClass: 9.7, + age: 80, + stock: 433, + }, + { + yieldClass: 9.7, + age: 90, + stock: 487, + }, + { + yieldClass: 9.7, + age: 100, + stock: 534, + }, + { + yieldClass: 9.7, + age: 110, + stock: 574, + }, + { + yieldClass: 9.7, + age: 120, + stock: 609, + }, + { + yieldClass: 9.7, + age: 130, + stock: 640, + }, + { + yieldClass: 9.7, + age: 140, + stock: 666, + }, + { + yieldClass: 9.7, + age: 150, + stock: 690, + }, + { + yieldClass: 9.7, + age: 160, + stock: 710, + }, + { + yieldClass: 9.7, + age: 170, + stock: 727, + }, + { + yieldClass: 9.7, + age: 180, + stock: 743, + }, + { + yieldClass: 9.7, + age: 190, + stock: 756, + }, + { + yieldClass: 9.7, + age: 200, + stock: 768, + }, + { + yieldClass: 9.7, + age: 210, + stock: 777, + }, + { + yieldClass: 9.7, + age: 220, + stock: 786, + }, + { + yieldClass: 9.7, + age: 230, + stock: 793, + }, + { + yieldClass: 9.7, + age: 240, + stock: 800, + }, + { + yieldClass: 9.7, + age: 250, + stock: 805, + }, + { + yieldClass: 3, + age: 30, + stock: 0, + }, + { + yieldClass: 3, + age: 40, + stock: 15, + }, + { + yieldClass: 3, + age: 50, + stock: 62, + }, + { + yieldClass: 3, + age: 60, + stock: 111, + }, + { + yieldClass: 3, + age: 70, + stock: 156, + }, + { + yieldClass: 3, + age: 80, + stock: 196, + }, + { + yieldClass: 3, + age: 90, + stock: 229, + }, + { + yieldClass: 3, + age: 100, + stock: 256, + }, + { + yieldClass: 3, + age: 110, + stock: 275, + }, + { + yieldClass: 3, + age: 120, + stock: 291, + }, + { + yieldClass: 3, + age: 130, + stock: 303, + }, + { + yieldClass: 3, + age: 140, + stock: 312, + }, + { + yieldClass: 4, + age: 30, + stock: 0, + }, + { + yieldClass: 4, + age: 40, + stock: 36, + }, + { + yieldClass: 4, + age: 50, + stock: 100, + }, + { + yieldClass: 4, + age: 60, + stock: 162, + }, + { + yieldClass: 4, + age: 70, + stock: 215, + }, + { + yieldClass: 4, + age: 80, + stock: 258, + }, + { + yieldClass: 4, + age: 90, + stock: 294, + }, + { + yieldClass: 4, + age: 100, + stock: 322, + }, + { + yieldClass: 4, + age: 110, + stock: 344, + }, + { + yieldClass: 4, + age: 120, + stock: 360, + }, + { + yieldClass: 4, + age: 130, + stock: 371, + }, + { + yieldClass: 4, + age: 140, + stock: 379, + }, + { + yieldClass: 5, + age: 30, + stock: 0, + }, + { + yieldClass: 5, + age: 40, + stock: 64, + }, + { + yieldClass: 5, + age: 50, + stock: 138, + }, + { + yieldClass: 5, + age: 60, + stock: 207, + }, + { + yieldClass: 5, + age: 70, + stock: 265, + }, + { + yieldClass: 5, + age: 80, + stock: 313, + }, + { + yieldClass: 5, + age: 90, + stock: 351, + }, + { + yieldClass: 5, + age: 100, + stock: 381, + }, + { + yieldClass: 5, + age: 110, + stock: 403, + }, + { + yieldClass: 5, + age: 120, + stock: 418, + }, + { + yieldClass: 5, + age: 130, + stock: 430, + }, + { + yieldClass: 5, + age: 140, + stock: 440, + }, + { + yieldClass: 6, + age: 30, + stock: 10, + }, + { + yieldClass: 6, + age: 40, + stock: 92, + }, + { + yieldClass: 6, + age: 50, + stock: 177, + }, + { + yieldClass: 6, + age: 60, + stock: 253, + }, + { + yieldClass: 6, + age: 70, + stock: 316, + }, + { + yieldClass: 6, + age: 80, + stock: 365, + }, + { + yieldClass: 6, + age: 90, + stock: 405, + }, + { + yieldClass: 6, + age: 100, + stock: 435, + }, + { + yieldClass: 6, + age: 110, + stock: 460, + }, + { + yieldClass: 6, + age: 120, + stock: 477, + }, + { + yieldClass: 6, + age: 130, + stock: 490, + }, + { + yieldClass: 6, + age: 140, + stock: 500, + }, + ], +}; + +export default at_tirol_zirbe; diff --git a/src/constants/yieldTables/ch_marschall_laercheSchweiz.ts b/src/constants/yieldTables/ch_marschall_laercheSchweiz.ts new file mode 100644 index 0000000..a1e5ec4 --- /dev/null +++ b/src/constants/yieldTables/ch_marschall_laercheSchweiz.ts @@ -0,0 +1,758 @@ +import YieldTable from '@/models/YieldTable'; + +const ch_marschall_laercheSchweiz: YieldTable = { + meta: { + title: 'Lärche Schweiz', + author: 'Dipl.-Ing. Dr. Julius Marschall', + copyright: + '© 1975 Österreichischer Agrarverlag Druck- und Verlagsges.m.b.H. Nfg. KG, Sturzgasse 1A, A-1141 Wien, E-Mail: buch@avbuch.at, Internet: www.avbuch.at', + source: + '1975, Julius Marschall: Hilfstafeln für die Forsteinrichtung; Neunte Auflage; Österreichischer Agrarverlag', + sourceLink: + 'https://www.avbuch-shop.at/landwirtschaft/lehrbuecher/1347/hilfstafeln-fuer-die-forsteinrichtung', + }, + rows: [ + { + yieldClass: 12, + age: 20, + stock: 149, + }, + { + yieldClass: 12, + age: 30, + stock: 259, + }, + { + yieldClass: 12, + age: 40, + stock: 356, + }, + { + yieldClass: 12, + age: 50, + stock: 435, + }, + { + yieldClass: 12, + age: 60, + stock: 503, + }, + { + yieldClass: 12, + age: 70, + stock: 561, + }, + { + yieldClass: 12, + age: 80, + stock: 608, + }, + { + yieldClass: 12, + age: 90, + stock: 649, + }, + { + yieldClass: 12, + age: 100, + stock: 679, + }, + { + yieldClass: 12, + age: 110, + stock: 704, + }, + { + yieldClass: 12, + age: 120, + stock: 725, + }, + { + yieldClass: 12, + age: 130, + stock: 740, + }, + { + yieldClass: 12, + age: 140, + stock: 750, + }, + { + yieldClass: 12, + age: 150, + stock: 760, + }, + { + yieldClass: 11, + age: 20, + stock: 128, + }, + { + yieldClass: 11, + age: 30, + stock: 226, + }, + { + yieldClass: 11, + age: 40, + stock: 317, + }, + { + yieldClass: 11, + age: 50, + stock: 391, + }, + { + yieldClass: 11, + age: 60, + stock: 454, + }, + { + yieldClass: 11, + age: 70, + stock: 509, + }, + { + yieldClass: 11, + age: 80, + stock: 555, + }, + { + yieldClass: 11, + age: 90, + stock: 595, + }, + { + yieldClass: 11, + age: 100, + stock: 627, + }, + { + yieldClass: 11, + age: 110, + stock: 652, + }, + { + yieldClass: 11, + age: 120, + stock: 674, + }, + { + yieldClass: 11, + age: 130, + stock: 691, + }, + { + yieldClass: 11, + age: 140, + stock: 703, + }, + { + yieldClass: 11, + age: 150, + stock: 713, + }, + { + yieldClass: 10, + age: 20, + stock: 107, + }, + { + yieldClass: 10, + age: 30, + stock: 194, + }, + { + yieldClass: 10, + age: 40, + stock: 274, + }, + { + yieldClass: 10, + age: 50, + stock: 343, + }, + { + yieldClass: 10, + age: 60, + stock: 404, + }, + { + yieldClass: 10, + age: 70, + stock: 456, + }, + { + yieldClass: 10, + age: 80, + stock: 502, + }, + { + yieldClass: 10, + age: 90, + stock: 540, + }, + { + yieldClass: 10, + age: 100, + stock: 572, + }, + { + yieldClass: 10, + age: 110, + stock: 598, + }, + { + yieldClass: 10, + age: 120, + stock: 619, + }, + { + yieldClass: 10, + age: 130, + stock: 638, + }, + { + yieldClass: 10, + age: 140, + stock: 651, + }, + { + yieldClass: 10, + age: 150, + stock: 666, + }, + { + yieldClass: 9, + age: 20, + stock: 86, + }, + { + yieldClass: 9, + age: 30, + stock: 161, + }, + { + yieldClass: 9, + age: 40, + stock: 235, + }, + { + yieldClass: 9, + age: 50, + stock: 299, + }, + { + yieldClass: 9, + age: 60, + stock: 354, + }, + { + yieldClass: 9, + age: 70, + stock: 403, + }, + { + yieldClass: 9, + age: 80, + stock: 447, + }, + { + yieldClass: 9, + age: 90, + stock: 484, + }, + { + yieldClass: 9, + age: 100, + stock: 517, + }, + { + yieldClass: 9, + age: 110, + stock: 543, + }, + { + yieldClass: 9, + age: 120, + stock: 566, + }, + { + yieldClass: 9, + age: 130, + stock: 585, + }, + { + yieldClass: 9, + age: 140, + stock: 602, + }, + { + yieldClass: 9, + age: 150, + stock: 613, + }, + { + yieldClass: 8, + age: 20, + stock: 66, + }, + { + yieldClass: 8, + age: 30, + stock: 128, + }, + { + yieldClass: 8, + age: 40, + stock: 192, + }, + { + yieldClass: 8, + age: 50, + stock: 252, + }, + { + yieldClass: 8, + age: 60, + stock: 302, + }, + { + yieldClass: 8, + age: 70, + stock: 350, + }, + { + yieldClass: 8, + age: 80, + stock: 390, + }, + { + yieldClass: 8, + age: 90, + stock: 427, + }, + { + yieldClass: 8, + age: 100, + stock: 460, + }, + { + yieldClass: 8, + age: 110, + stock: 487, + }, + { + yieldClass: 8, + age: 120, + stock: 509, + }, + { + yieldClass: 8, + age: 130, + stock: 530, + }, + { + yieldClass: 8, + age: 140, + stock: 546, + }, + { + yieldClass: 8, + age: 150, + stock: 560, + }, + { + yieldClass: 7, + age: 20, + stock: 46, + }, + { + yieldClass: 7, + age: 30, + stock: 97, + }, + { + yieldClass: 7, + age: 40, + stock: 152, + }, + { + yieldClass: 7, + age: 50, + stock: 207, + }, + { + yieldClass: 7, + age: 60, + stock: 253, + }, + { + yieldClass: 7, + age: 70, + stock: 297, + }, + { + yieldClass: 7, + age: 80, + stock: 336, + }, + { + yieldClass: 7, + age: 90, + stock: 371, + }, + { + yieldClass: 7, + age: 100, + stock: 401, + }, + { + yieldClass: 7, + age: 110, + stock: 429, + }, + { + yieldClass: 7, + age: 120, + stock: 452, + }, + { + yieldClass: 7, + age: 130, + stock: 473, + }, + { + yieldClass: 7, + age: 140, + stock: 490, + }, + { + yieldClass: 7, + age: 150, + stock: 505, + }, + { + yieldClass: 6, + age: 20, + stock: 29, + }, + { + yieldClass: 6, + age: 30, + stock: 68, + }, + { + yieldClass: 6, + age: 40, + stock: 116, + }, + { + yieldClass: 6, + age: 50, + stock: 164, + }, + { + yieldClass: 6, + age: 60, + stock: 200, + }, + { + yieldClass: 6, + age: 70, + stock: 246, + }, + { + yieldClass: 6, + age: 80, + stock: 280, + }, + { + yieldClass: 6, + age: 90, + stock: 314, + }, + { + yieldClass: 6, + age: 100, + stock: 344, + }, + { + yieldClass: 6, + age: 110, + stock: 372, + }, + { + yieldClass: 6, + age: 120, + stock: 394, + }, + { + yieldClass: 6, + age: 130, + stock: 413, + }, + { + yieldClass: 6, + age: 140, + stock: 432, + }, + { + yieldClass: 6, + age: 150, + stock: 448, + }, + { + yieldClass: 5, + age: 20, + stock: 9, + }, + { + yieldClass: 5, + age: 30, + stock: 42, + }, + { + yieldClass: 5, + age: 40, + stock: 78, + }, + { + yieldClass: 5, + age: 50, + stock: 119, + }, + { + yieldClass: 5, + age: 60, + stock: 158, + }, + { + yieldClass: 5, + age: 70, + stock: 194, + }, + { + yieldClass: 5, + age: 80, + stock: 226, + }, + { + yieldClass: 5, + age: 90, + stock: 258, + }, + { + yieldClass: 5, + age: 100, + stock: 287, + }, + { + yieldClass: 5, + age: 110, + stock: 313, + }, + { + yieldClass: 5, + age: 120, + stock: 335, + }, + { + yieldClass: 5, + age: 130, + stock: 355, + }, + { + yieldClass: 5, + age: 140, + stock: 374, + }, + { + yieldClass: 5, + age: 150, + stock: 390, + }, + { + yieldClass: 4, + age: 30, + stock: 21, + }, + { + yieldClass: 4, + age: 40, + stock: 46, + }, + { + yieldClass: 4, + age: 50, + stock: 80, + }, + { + yieldClass: 4, + age: 60, + stock: 113, + }, + { + yieldClass: 4, + age: 70, + stock: 144, + }, + { + yieldClass: 4, + age: 80, + stock: 175, + }, + { + yieldClass: 4, + age: 90, + stock: 204, + }, + { + yieldClass: 4, + age: 100, + stock: 231, + }, + { + yieldClass: 4, + age: 110, + stock: 254, + }, + { + yieldClass: 4, + age: 120, + stock: 276, + }, + { + yieldClass: 4, + age: 130, + stock: 295, + }, + { + yieldClass: 4, + age: 140, + stock: 314, + }, + { + yieldClass: 4, + age: 150, + stock: 332, + }, + { + yieldClass: 3, + age: 40, + stock: 21, + }, + { + yieldClass: 3, + age: 50, + stock: 45, + }, + { + yieldClass: 3, + age: 60, + stock: 73, + }, + { + yieldClass: 3, + age: 70, + stock: 100, + }, + { + yieldClass: 3, + age: 80, + stock: 126, + }, + { + yieldClass: 3, + age: 90, + stock: 152, + }, + { + yieldClass: 3, + age: 100, + stock: 177, + }, + { + yieldClass: 3, + age: 110, + stock: 199, + }, + { + yieldClass: 3, + age: 120, + stock: 220, + }, + { + yieldClass: 3, + age: 130, + stock: 237, + }, + { + yieldClass: 3, + age: 140, + stock: 257, + }, + { + yieldClass: 3, + age: 150, + stock: 273, + }, + { + yieldClass: 2, + age: 50, + stock: 13, + }, + { + yieldClass: 2, + age: 60, + stock: 37, + }, + { + yieldClass: 2, + age: 70, + stock: 55, + }, + { + yieldClass: 2, + age: 80, + stock: 76, + }, + { + yieldClass: 2, + age: 90, + stock: 96, + }, + { + yieldClass: 2, + age: 100, + stock: 116, + }, + { + yieldClass: 2, + age: 110, + stock: 135, + }, + { + yieldClass: 2, + age: 120, + stock: 153, + }, + { + yieldClass: 2, + age: 130, + stock: 169, + }, + { + yieldClass: 2, + age: 140, + stock: 184, + }, + { + yieldClass: 2, + age: 150, + stock: 198, + }, + ], +}; + +export default ch_marschall_laercheSchweiz; diff --git a/src/constants/yieldTables/cz_cerny_buche.ts b/src/constants/yieldTables/cz_cerny_buche.ts new file mode 100644 index 0000000..7212bac --- /dev/null +++ b/src/constants/yieldTables/cz_cerny_buche.ts @@ -0,0 +1,567 @@ +import YieldTable from '@/models/YieldTable'; + +const cz_cerny_buche: YieldTable = { + meta: { + title: 'Buche Černý Tschechische Republik', + author: 'Černý, Pařez, Malík', + copyright: + '© 1996, Martin Černý, Jan Pařez: Růstové a taxační tabulky hlavních dřevin České republiky: (smrk, borovice, buk, dub). Jílové u Prahy: IFER.', + source: + '1996, Martin Černý, Jan Pařez: Růstové a taxační tabulky hlavních dřevin České republiky: (smrk, borovice, buk, dub). Jílové u Prahy: IFER.', + sourceLink: 'https://katalog.mendelu.cz/records/5b86d7f6-2962-425e-b679-474a975de497', + }, + rows: [ + { + yieldClass: 36, + age: 20, + stock: 191, + }, + { + yieldClass: 36, + age: 30, + stock: 270, + }, + { + yieldClass: 36, + age: 40, + stock: 346, + }, + { + yieldClass: 36, + age: 50, + stock: 426, + }, + { + yieldClass: 36, + age: 60, + stock: 503, + }, + { + yieldClass: 36, + age: 70, + stock: 582, + }, + { + yieldClass: 36, + age: 80, + stock: 653, + }, + { + yieldClass: 36, + age: 90, + stock: 725, + }, + { + yieldClass: 36, + age: 100, + stock: 787, + }, + { + yieldClass: 36, + age: 110, + stock: 842, + }, + { + yieldClass: 36, + age: 120, + stock: 891, + }, + { + yieldClass: 34, + age: 20, + stock: 176, + }, + { + yieldClass: 34, + age: 30, + stock: 253, + }, + { + yieldClass: 34, + age: 40, + stock: 323, + }, + { + yieldClass: 34, + age: 50, + stock: 396, + }, + { + yieldClass: 34, + age: 60, + stock: 464, + }, + { + yieldClass: 34, + age: 70, + stock: 535, + }, + { + yieldClass: 34, + age: 80, + stock: 601, + }, + { + yieldClass: 34, + age: 90, + stock: 661, + }, + { + yieldClass: 34, + age: 100, + stock: 715, + }, + { + yieldClass: 34, + age: 110, + stock: 762, + }, + { + yieldClass: 34, + age: 120, + stock: 802, + }, + { + yieldClass: 32, + age: 20, + stock: 157, + }, + { + yieldClass: 32, + age: 30, + stock: 229, + }, + { + yieldClass: 32, + age: 40, + stock: 298, + }, + { + yieldClass: 32, + age: 50, + stock: 362, + }, + { + yieldClass: 32, + age: 60, + stock: 429, + }, + { + yieldClass: 32, + age: 70, + stock: 489, + }, + { + yieldClass: 32, + age: 80, + stock: 547, + }, + { + yieldClass: 32, + age: 90, + stock: 600, + }, + { + yieldClass: 32, + age: 100, + stock: 645, + }, + { + yieldClass: 32, + age: 110, + stock: 686, + }, + { + yieldClass: 32, + age: 120, + stock: 721, + }, + { + yieldClass: 30, + age: 20, + stock: 134, + }, + { + yieldClass: 30, + age: 30, + stock: 207, + }, + { + yieldClass: 30, + age: 40, + stock: 271, + }, + { + yieldClass: 30, + age: 50, + stock: 332, + }, + { + yieldClass: 30, + age: 60, + stock: 392, + }, + { + yieldClass: 30, + age: 70, + stock: 447, + }, + { + yieldClass: 30, + age: 80, + stock: 498, + }, + { + yieldClass: 30, + age: 90, + stock: 542, + }, + { + yieldClass: 30, + age: 100, + stock: 585, + }, + { + yieldClass: 30, + age: 110, + stock: 619, + }, + { + yieldClass: 30, + age: 120, + stock: 649, + }, + { + yieldClass: 28, + age: 30, + stock: 180, + }, + { + yieldClass: 28, + age: 40, + stock: 244, + }, + { + yieldClass: 28, + age: 50, + stock: 302, + }, + { + yieldClass: 28, + age: 60, + stock: 356, + }, + { + yieldClass: 28, + age: 70, + stock: 408, + }, + { + yieldClass: 28, + age: 80, + stock: 452, + }, + { + yieldClass: 28, + age: 90, + stock: 493, + }, + { + yieldClass: 28, + age: 100, + stock: 529, + }, + { + yieldClass: 28, + age: 110, + stock: 555, + }, + { + yieldClass: 28, + age: 120, + stock: 581, + }, + { + yieldClass: 26, + age: 30, + stock: 153, + }, + { + yieldClass: 26, + age: 40, + stock: 215, + }, + { + yieldClass: 26, + age: 50, + stock: 272, + }, + { + yieldClass: 26, + age: 60, + stock: 323, + }, + { + yieldClass: 26, + age: 70, + stock: 371, + }, + { + yieldClass: 26, + age: 80, + stock: 412, + }, + { + yieldClass: 26, + age: 90, + stock: 447, + }, + { + yieldClass: 26, + age: 100, + stock: 476, + }, + { + yieldClass: 26, + age: 110, + stock: 500, + }, + { + yieldClass: 26, + age: 120, + stock: 521, + }, + { + yieldClass: 24, + age: 30, + stock: 127, + }, + { + yieldClass: 24, + age: 40, + stock: 189, + }, + { + yieldClass: 24, + age: 50, + stock: 244, + }, + { + yieldClass: 24, + age: 60, + stock: 294, + }, + { + yieldClass: 24, + age: 70, + stock: 338, + }, + { + yieldClass: 24, + age: 80, + stock: 374, + }, + { + yieldClass: 24, + age: 90, + stock: 405, + }, + { + yieldClass: 24, + age: 100, + stock: 431, + }, + { + yieldClass: 24, + age: 110, + stock: 449, + }, + { + yieldClass: 24, + age: 120, + stock: 463, + }, + { + yieldClass: 22, + age: 40, + stock: 163, + }, + { + yieldClass: 22, + age: 50, + stock: 219, + }, + { + yieldClass: 22, + age: 60, + stock: 267, + }, + { + yieldClass: 22, + age: 70, + stock: 307, + }, + { + yieldClass: 22, + age: 80, + stock: 342, + }, + { + yieldClass: 22, + age: 90, + stock: 367, + }, + { + yieldClass: 22, + age: 100, + stock: 386, + }, + { + yieldClass: 22, + age: 110, + stock: 401, + }, + { + yieldClass: 22, + age: 120, + stock: 413, + }, + { + yieldClass: 20, + age: 40, + stock: 141, + }, + { + yieldClass: 20, + age: 50, + stock: 197, + }, + { + yieldClass: 20, + age: 60, + stock: 243, + }, + { + yieldClass: 20, + age: 70, + stock: 282, + }, + { + yieldClass: 20, + age: 80, + stock: 309, + }, + { + yieldClass: 20, + age: 90, + stock: 332, + }, + { + yieldClass: 20, + age: 100, + stock: 346, + }, + { + yieldClass: 20, + age: 110, + stock: 357, + }, + { + yieldClass: 20, + age: 120, + stock: 364, + }, + { + yieldClass: 18, + age: 40, + stock: 121, + }, + { + yieldClass: 18, + age: 50, + stock: 177, + }, + { + yieldClass: 18, + age: 60, + stock: 223, + }, + { + yieldClass: 18, + age: 70, + stock: 256, + }, + { + yieldClass: 18, + age: 80, + stock: 280, + }, + { + yieldClass: 18, + age: 90, + stock: 298, + }, + { + yieldClass: 18, + age: 100, + stock: 307, + }, + { + yieldClass: 18, + age: 110, + stock: 315, + }, + { + yieldClass: 18, + age: 120, + stock: 320, + }, + { + yieldClass: 16, + age: 40, + stock: 102, + }, + { + yieldClass: 16, + age: 50, + stock: 156, + }, + { + yieldClass: 16, + age: 60, + stock: 202, + }, + { + yieldClass: 16, + age: 70, + stock: 232, + }, + { + yieldClass: 16, + age: 80, + stock: 251, + }, + { + yieldClass: 16, + age: 90, + stock: 263, + }, + { + yieldClass: 16, + age: 100, + stock: 270, + }, + { + yieldClass: 16, + age: 110, + stock: 276, + }, + { + yieldClass: 16, + age: 120, + stock: 278, + }, + ], +}; + +export default cz_cerny_buche; diff --git a/src/constants/yieldTables/cz_cerny_eiche.ts b/src/constants/yieldTables/cz_cerny_eiche.ts new file mode 100644 index 0000000..e0db9a8 --- /dev/null +++ b/src/constants/yieldTables/cz_cerny_eiche.ts @@ -0,0 +1,572 @@ +import YieldTable from '@/models/YieldTable'; + +const cz_cerny_eiche: YieldTable = { + meta: { + title: 'Eiche Černý Tschechische Republik', + author: 'Černý, Pařez, Malík', + copyright: + '© 1996, Martin Černý, Jan Pařez: Růstové a taxační tabulky hlavních dřevin České republiky: (smrk, borovice, buk, dub). Jílové u Prahy: IFER.', + source: + '1996, Martin Černý, Jan Pařez: Růstové a taxační tabulky hlavních dřevin České republiky: (smrk, borovice, buk, dub). Jílové u Prahy: IFER.', + sourceLink: 'https://katalog.mendelu.cz/records/5b86d7f6-2962-425e-b679-474a975de497', + }, + rows: [ + { + yieldClass: 32, + age: 20, + stock: 146, + }, + { + yieldClass: 32, + age: 30, + stock: 234, + }, + { + yieldClass: 32, + age: 40, + stock: 323, + }, + { + yieldClass: 32, + age: 50, + stock: 403, + }, + { + yieldClass: 32, + age: 60, + stock: 475, + }, + { + yieldClass: 32, + age: 70, + stock: 536, + }, + { + yieldClass: 32, + age: 80, + stock: 589, + }, + { + yieldClass: 32, + age: 90, + stock: 633, + }, + { + yieldClass: 32, + age: 100, + stock: 673, + }, + { + yieldClass: 32, + age: 110, + stock: 704, + }, + { + yieldClass: 32, + age: 120, + stock: 734, + }, + { + yieldClass: 30, + age: 20, + stock: 131, + }, + { + yieldClass: 30, + age: 30, + stock: 208, + }, + { + yieldClass: 30, + age: 40, + stock: 288, + }, + { + yieldClass: 30, + age: 50, + stock: 362, + }, + { + yieldClass: 30, + age: 60, + stock: 427, + }, + { + yieldClass: 30, + age: 70, + stock: 285, + }, + { + yieldClass: 30, + age: 80, + stock: 534, + }, + { + yieldClass: 30, + age: 90, + stock: 573, + }, + { + yieldClass: 30, + age: 100, + stock: 607, + }, + { + yieldClass: 30, + age: 110, + stock: 638, + }, + { + yieldClass: 30, + age: 120, + stock: 663, + }, + { + yieldClass: 28, + age: 20, + stock: 116, + }, + { + yieldClass: 28, + age: 30, + stock: 182, + }, + { + yieldClass: 28, + age: 40, + stock: 255, + }, + { + yieldClass: 28, + age: 50, + stock: 324, + }, + { + yieldClass: 28, + age: 60, + stock: 384, + }, + { + yieldClass: 28, + age: 70, + stock: 436, + }, + { + yieldClass: 28, + age: 80, + stock: 480, + }, + { + yieldClass: 28, + age: 90, + stock: 518, + }, + { + yieldClass: 28, + age: 100, + stock: 546, + }, + { + yieldClass: 28, + age: 110, + stock: 573, + }, + { + yieldClass: 28, + age: 120, + stock: 596, + }, + { + yieldClass: 26, + age: 20, + stock: 102, + }, + { + yieldClass: 26, + age: 30, + stock: 157, + }, + { + yieldClass: 26, + age: 40, + stock: 223, + }, + { + yieldClass: 26, + age: 50, + stock: 286, + }, + { + yieldClass: 26, + age: 60, + stock: 340, + }, + { + yieldClass: 26, + age: 70, + stock: 387, + }, + { + yieldClass: 26, + age: 80, + stock: 425, + }, + { + yieldClass: 26, + age: 90, + stock: 460, + }, + { + yieldClass: 26, + age: 100, + stock: 487, + }, + { + yieldClass: 26, + age: 110, + stock: 510, + }, + { + yieldClass: 26, + age: 120, + stock: 530, + }, + { + yieldClass: 24, + age: 30, + stock: 136, + }, + { + yieldClass: 24, + age: 40, + stock: 192, + }, + { + yieldClass: 24, + age: 50, + stock: 248, + }, + { + yieldClass: 24, + age: 60, + stock: 299, + }, + { + yieldClass: 24, + age: 70, + stock: 343, + }, + { + yieldClass: 24, + age: 80, + stock: 378, + }, + { + yieldClass: 24, + age: 90, + stock: 405, + }, + { + yieldClass: 24, + age: 100, + stock: 430, + }, + { + yieldClass: 24, + age: 110, + stock: 449, + }, + { + yieldClass: 24, + age: 120, + stock: 467, + }, + { + yieldClass: 22, + age: 30, + stock: 116, + }, + { + yieldClass: 22, + age: 40, + stock: 165, + }, + { + yieldClass: 22, + age: 50, + stock: 216, + }, + { + yieldClass: 22, + age: 60, + stock: 262, + }, + { + yieldClass: 22, + age: 70, + stock: 301, + }, + { + yieldClass: 22, + age: 80, + stock: 331, + }, + { + yieldClass: 22, + age: 90, + stock: 358, + }, + { + yieldClass: 22, + age: 100, + stock: 377, + }, + { + yieldClass: 22, + age: 110, + stock: 395, + }, + { + yieldClass: 22, + age: 120, + stock: 408, + }, + { + yieldClass: 20, + age: 30, + stock: 100, + }, + { + yieldClass: 20, + age: 40, + stock: 142, + }, + { + yieldClass: 20, + age: 50, + stock: 186, + }, + { + yieldClass: 20, + age: 60, + stock: 228, + }, + { + yieldClass: 20, + age: 70, + stock: 263, + }, + { + yieldClass: 20, + age: 80, + stock: 289, + }, + { + yieldClass: 20, + age: 90, + stock: 312, + }, + { + yieldClass: 20, + age: 100, + stock: 329, + }, + { + yieldClass: 20, + age: 110, + stock: 341, + }, + { + yieldClass: 20, + age: 120, + stock: 353, + }, + { + yieldClass: 18, + age: 30, + stock: 88, + }, + { + yieldClass: 18, + age: 40, + stock: 122, + }, + { + yieldClass: 18, + age: 50, + stock: 162, + }, + { + yieldClass: 18, + age: 60, + stock: 198, + }, + { + yieldClass: 18, + age: 70, + stock: 229, + }, + { + yieldClass: 18, + age: 80, + stock: 252, + }, + { + yieldClass: 18, + age: 90, + stock: 268, + }, + { + yieldClass: 18, + age: 100, + stock: 283, + }, + { + yieldClass: 18, + age: 110, + stock: 291, + }, + { + yieldClass: 18, + age: 120, + stock: 299, + }, + { + yieldClass: 16, + age: 40, + stock: 106, + }, + { + yieldClass: 16, + age: 50, + stock: 140, + }, + { + yieldClass: 16, + age: 60, + stock: 172, + }, + { + yieldClass: 16, + age: 70, + stock: 199, + }, + { + yieldClass: 16, + age: 80, + stock: 218, + }, + { + yieldClass: 16, + age: 90, + stock: 230, + }, + { + yieldClass: 16, + age: 100, + stock: 241, + }, + { + yieldClass: 16, + age: 110, + stock: 247, + }, + { + yieldClass: 16, + age: 120, + stock: 253, + }, + { + yieldClass: 14, + age: 40, + stock: 91, + }, + { + yieldClass: 14, + age: 50, + stock: 121, + }, + { + yieldClass: 14, + age: 60, + stock: 149, + }, + { + yieldClass: 14, + age: 70, + stock: 170, + }, + { + yieldClass: 14, + age: 80, + stock: 185, + }, + { + yieldClass: 14, + age: 90, + stock: 196, + }, + { + yieldClass: 14, + age: 100, + stock: 203, + }, + { + yieldClass: 14, + age: 110, + stock: 208, + }, + { + yieldClass: 14, + age: 120, + stock: 212, + }, + { + yieldClass: 12, + age: 40, + stock: 81, + }, + { + yieldClass: 12, + age: 50, + stock: 104, + }, + { + yieldClass: 12, + age: 60, + stock: 127, + }, + { + yieldClass: 12, + age: 70, + stock: 144, + }, + { + yieldClass: 12, + age: 80, + stock: 156, + }, + { + yieldClass: 12, + age: 90, + stock: 163, + }, + { + yieldClass: 12, + age: 100, + stock: 168, + }, + { + yieldClass: 12, + age: 110, + stock: 171, + }, + { + yieldClass: 12, + age: 120, + stock: 173, + }, + ], +}; + +export default cz_cerny_eiche; diff --git a/src/constants/yieldTables/cz_cerny_fichte.ts b/src/constants/yieldTables/cz_cerny_fichte.ts new file mode 100644 index 0000000..14aac98 --- /dev/null +++ b/src/constants/yieldTables/cz_cerny_fichte.ts @@ -0,0 +1,592 @@ +import YieldTable from '@/models/YieldTable'; + +const cz_cerny_fichte: YieldTable = { + meta: { + title: 'Fichte Černý Tschechische Republik', + author: 'Černý, Pařez, Malík', + copyright: + '© 1996, Martin Černý, Jan Pařez: Růstové a taxační tabulky hlavních dřevin České republiky: (smrk, borovice, buk, dub). Jílové u Prahy: IFER.', + source: + '1996, Martin Černý, Jan Pařez: Růstové a taxační tabulky hlavních dřevin České republiky: (smrk, borovice, buk, dub). Jílové u Prahy: IFER.', + sourceLink: 'https://katalog.mendelu.cz/records/5b86d7f6-2962-425e-b679-474a975de497', + }, + rows: [ + { + yieldClass: 36, + age: 20, + stock: 178, + }, + { + yieldClass: 36, + age: 30, + stock: 323, + }, + { + yieldClass: 36, + age: 40, + stock: 454, + }, + { + yieldClass: 36, + age: 50, + stock: 568, + }, + { + yieldClass: 36, + age: 60, + stock: 665, + }, + { + yieldClass: 36, + age: 70, + stock: 756, + }, + { + yieldClass: 36, + age: 80, + stock: 826, + }, + { + yieldClass: 36, + age: 90, + stock: 890, + }, + { + yieldClass: 36, + age: 100, + stock: 944, + }, + { + yieldClass: 36, + age: 110, + stock: 986, + }, + { + yieldClass: 36, + age: 120, + stock: 1026, + }, + { + yieldClass: 34, + age: 20, + stock: 150, + }, + { + yieldClass: 34, + age: 30, + stock: 288, + }, + { + yieldClass: 34, + age: 40, + stock: 411, + }, + { + yieldClass: 34, + age: 50, + stock: 521, + }, + { + yieldClass: 34, + age: 60, + stock: 613, + }, + { + yieldClass: 34, + age: 70, + stock: 697, + }, + { + yieldClass: 34, + age: 80, + stock: 762, + }, + { + yieldClass: 34, + age: 90, + stock: 821, + }, + { + yieldClass: 34, + age: 100, + stock: 869, + }, + { + yieldClass: 34, + age: 110, + stock: 906, + }, + { + yieldClass: 34, + age: 120, + stock: 937, + }, + { + yieldClass: 32, + age: 20, + stock: 120, + }, + { + yieldClass: 32, + age: 30, + stock: 248, + }, + { + yieldClass: 32, + age: 40, + stock: 369, + }, + { + yieldClass: 32, + age: 50, + stock: 475, + }, + { + yieldClass: 32, + age: 60, + stock: 562, + }, + { + yieldClass: 32, + age: 70, + stock: 639, + }, + { + yieldClass: 32, + age: 80, + stock: 698, + }, + { + yieldClass: 32, + age: 90, + stock: 753, + }, + { + yieldClass: 32, + age: 100, + stock: 794, + }, + { + yieldClass: 32, + age: 110, + stock: 828, + }, + { + yieldClass: 32, + age: 120, + stock: 856, + }, + { + yieldClass: 30, + age: 20, + stock: 91, + }, + { + yieldClass: 30, + age: 30, + stock: 207, + }, + { + yieldClass: 30, + age: 40, + stock: 326, + }, + { + yieldClass: 30, + age: 50, + stock: 426, + }, + { + yieldClass: 30, + age: 60, + stock: 513, + }, + { + yieldClass: 30, + age: 70, + stock: 583, + }, + { + yieldClass: 30, + age: 80, + stock: 640, + }, + { + yieldClass: 30, + age: 90, + stock: 686, + }, + { + yieldClass: 30, + age: 100, + stock: 722, + }, + { + yieldClass: 30, + age: 110, + stock: 750, + }, + { + yieldClass: 30, + age: 120, + stock: 774, + }, + { + yieldClass: 28, + age: 20, + stock: 65, + }, + { + yieldClass: 28, + age: 30, + stock: 169, + }, + { + yieldClass: 28, + age: 40, + stock: 281, + }, + { + yieldClass: 28, + age: 50, + stock: 380, + }, + { + yieldClass: 28, + age: 60, + stock: 464, + }, + { + yieldClass: 28, + age: 70, + stock: 526, + }, + { + yieldClass: 28, + age: 80, + stock: 580, + }, + { + yieldClass: 28, + age: 90, + stock: 623, + }, + { + yieldClass: 28, + age: 100, + stock: 655, + }, + { + yieldClass: 28, + age: 110, + stock: 680, + }, + { + yieldClass: 28, + age: 120, + stock: 698, + }, + { + yieldClass: 26, + age: 20, + stock: 49, + }, + { + yieldClass: 26, + age: 30, + stock: 134, + }, + { + yieldClass: 26, + age: 40, + stock: 238, + }, + { + yieldClass: 26, + age: 50, + stock: 334, + }, + { + yieldClass: 26, + age: 60, + stock: 412, + }, + { + yieldClass: 26, + age: 70, + stock: 476, + }, + { + yieldClass: 26, + age: 80, + stock: 523, + }, + { + yieldClass: 26, + age: 90, + stock: 560, + }, + { + yieldClass: 26, + age: 100, + stock: 590, + }, + { + yieldClass: 26, + age: 110, + stock: 610, + }, + { + yieldClass: 26, + age: 120, + stock: 625, + }, + { + yieldClass: 24, + age: 30, + stock: 106, + }, + { + yieldClass: 24, + age: 40, + stock: 197, + }, + { + yieldClass: 24, + age: 50, + stock: 289, + }, + { + yieldClass: 24, + age: 60, + stock: 364, + }, + { + yieldClass: 24, + age: 70, + stock: 423, + }, + { + yieldClass: 24, + age: 80, + stock: 468, + }, + { + yieldClass: 24, + age: 90, + stock: 502, + }, + { + yieldClass: 24, + age: 100, + stock: 527, + }, + { + yieldClass: 24, + age: 110, + stock: 543, + }, + { + yieldClass: 24, + age: 120, + stock: 557, + }, + { + yieldClass: 22, + age: 30, + stock: 84, + }, + { + yieldClass: 22, + age: 40, + stock: 163, + }, + { + yieldClass: 22, + age: 50, + stock: 246, + }, + { + yieldClass: 22, + age: 60, + stock: 318, + }, + { + yieldClass: 22, + age: 70, + stock: 373, + }, + { + yieldClass: 22, + age: 80, + stock: 415, + }, + { + yieldClass: 22, + age: 90, + stock: 445, + }, + { + yieldClass: 22, + age: 100, + stock: 464, + }, + { + yieldClass: 22, + age: 110, + stock: 479, + }, + { + yieldClass: 22, + age: 120, + stock: 489, + }, + { + yieldClass: 20, + age: 30, + stock: 68, + }, + { + yieldClass: 20, + age: 40, + stock: 133, + }, + { + yieldClass: 20, + age: 50, + stock: 207, + }, + { + yieldClass: 20, + age: 60, + stock: 276, + }, + { + yieldClass: 20, + age: 70, + stock: 326, + }, + { + yieldClass: 20, + age: 80, + stock: 362, + }, + { + yieldClass: 20, + age: 90, + stock: 388, + }, + { + yieldClass: 20, + age: 100, + stock: 405, + }, + { + yieldClass: 20, + age: 110, + stock: 417, + }, + { + yieldClass: 20, + age: 120, + stock: 423, + }, + { + yieldClass: 18, + age: 30, + stock: 53, + }, + { + yieldClass: 18, + age: 40, + stock: 109, + }, + { + yieldClass: 18, + age: 50, + stock: 173, + }, + { + yieldClass: 18, + age: 60, + stock: 234, + }, + { + yieldClass: 18, + age: 70, + stock: 279, + }, + { + yieldClass: 18, + age: 80, + stock: 312, + }, + { + yieldClass: 18, + age: 90, + stock: 331, + }, + { + yieldClass: 18, + age: 100, + stock: 347, + }, + { + yieldClass: 18, + age: 110, + stock: 354, + }, + { + yieldClass: 18, + age: 120, + stock: 359, + }, + { + yieldClass: 16, + age: 40, + stock: 86, + }, + { + yieldClass: 16, + age: 50, + stock: 143, + }, + { + yieldClass: 16, + age: 60, + stock: 195, + }, + { + yieldClass: 16, + age: 70, + stock: 234, + }, + { + yieldClass: 16, + age: 80, + stock: 262, + }, + { + yieldClass: 16, + age: 90, + stock: 278, + }, + { + yieldClass: 16, + age: 100, + stock: 289, + }, + { + yieldClass: 16, + age: 110, + stock: 294, + }, + { + yieldClass: 16, + age: 120, + stock: 299, + }, + ], +}; + +export default cz_cerny_fichte; diff --git a/src/constants/yieldTables/cz_cerny_kiefer.ts b/src/constants/yieldTables/cz_cerny_kiefer.ts new file mode 100644 index 0000000..e121923 --- /dev/null +++ b/src/constants/yieldTables/cz_cerny_kiefer.ts @@ -0,0 +1,597 @@ +import YieldTable from '@/models/YieldTable'; + +const cz_cerny_kiefer: YieldTable = { + meta: { + title: 'Kiefer Černý Tschechische Republik', + author: 'Černý, Pařez, Malík', + copyright: + '© 1996, Martin Černý, Jan Pařez: Růstové a taxační tabulky hlavních dřevin České republiky: (smrk, borovice, buk, dub). Jílové u Prahy: IFER.', + source: + '1996, Martin Černý, Jan Pařez: Růstové a taxační tabulky hlavních dřevin České republiky: (smrk, borovice, buk, dub). Jílové u Prahy: IFER.', + sourceLink: 'https://katalog.mendelu.cz/records/5b86d7f6-2962-425e-b679-474a975de497', + }, + rows: [ + { + yieldClass: 32, + age: 10, + stock: 81, + }, + { + yieldClass: 32, + age: 20, + stock: 194, + }, + { + yieldClass: 32, + age: 30, + stock: 300, + }, + { + yieldClass: 32, + age: 40, + stock: 391, + }, + { + yieldClass: 32, + age: 50, + stock: 464, + }, + { + yieldClass: 32, + age: 60, + stock: 522, + }, + { + yieldClass: 32, + age: 70, + stock: 565, + }, + { + yieldClass: 32, + age: 80, + stock: 603, + }, + { + yieldClass: 32, + age: 90, + stock: 629, + }, + { + yieldClass: 32, + age: 100, + stock: 650, + }, + { + yieldClass: 32, + age: 110, + stock: 665, + }, + { + yieldClass: 32, + age: 120, + stock: 680, + }, + { + yieldClass: 30, + age: 10, + stock: 67, + }, + { + yieldClass: 30, + age: 20, + stock: 170, + }, + { + yieldClass: 30, + age: 30, + stock: 269, + }, + { + yieldClass: 30, + age: 40, + stock: 352, + }, + { + yieldClass: 30, + age: 50, + stock: 421, + }, + { + yieldClass: 30, + age: 60, + stock: 478, + }, + { + yieldClass: 30, + age: 70, + stock: 522, + }, + { + yieldClass: 30, + age: 80, + stock: 554, + }, + { + yieldClass: 30, + age: 90, + stock: 582, + }, + { + yieldClass: 30, + age: 100, + stock: 599, + }, + { + yieldClass: 30, + age: 110, + stock: 615, + }, + { + yieldClass: 30, + age: 120, + stock: 628, + }, + { + yieldClass: 28, + age: 20, + stock: 145, + }, + { + yieldClass: 28, + age: 30, + stock: 237, + }, + { + yieldClass: 28, + age: 40, + stock: 315, + }, + { + yieldClass: 28, + age: 50, + stock: 382, + }, + { + yieldClass: 28, + age: 60, + stock: 433, + }, + { + yieldClass: 28, + age: 70, + stock: 476, + }, + { + yieldClass: 28, + age: 80, + stock: 506, + }, + { + yieldClass: 28, + age: 90, + stock: 530, + }, + { + yieldClass: 28, + age: 100, + stock: 548, + }, + { + yieldClass: 28, + age: 110, + stock: 562, + }, + { + yieldClass: 28, + age: 120, + stock: 572, + }, + { + yieldClass: 26, + age: 20, + stock: 120, + }, + { + yieldClass: 26, + age: 30, + stock: 203, + }, + { + yieldClass: 26, + age: 40, + stock: 279, + }, + { + yieldClass: 26, + age: 50, + stock: 341, + }, + { + yieldClass: 26, + age: 60, + stock: 391, + }, + { + yieldClass: 26, + age: 70, + stock: 429, + }, + { + yieldClass: 26, + age: 80, + stock: 458, + }, + { + yieldClass: 26, + age: 90, + stock: 482, + }, + { + yieldClass: 26, + age: 100, + stock: 498, + }, + { + yieldClass: 26, + age: 110, + stock: 511, + }, + { + yieldClass: 26, + age: 120, + stock: 520, + }, + { + yieldClass: 24, + age: 20, + stock: 95, + }, + { + yieldClass: 24, + age: 30, + stock: 173, + }, + { + yieldClass: 24, + age: 40, + stock: 242, + }, + { + yieldClass: 24, + age: 50, + stock: 303, + }, + { + yieldClass: 24, + age: 60, + stock: 348, + }, + { + yieldClass: 24, + age: 70, + stock: 385, + }, + { + yieldClass: 24, + age: 80, + stock: 411, + }, + { + yieldClass: 24, + age: 90, + stock: 432, + }, + { + yieldClass: 24, + age: 100, + stock: 449, + }, + { + yieldClass: 24, + age: 110, + stock: 458, + }, + { + yieldClass: 24, + age: 120, + stock: 465, + }, + { + yieldClass: 22, + age: 20, + stock: 74, + }, + { + yieldClass: 22, + age: 30, + stock: 142, + }, + { + yieldClass: 22, + age: 40, + stock: 208, + }, + { + yieldClass: 22, + age: 50, + stock: 264, + }, + { + yieldClass: 22, + age: 60, + stock: 309, + }, + { + yieldClass: 22, + age: 70, + stock: 342, + }, + { + yieldClass: 22, + age: 80, + stock: 368, + }, + { + yieldClass: 22, + age: 90, + stock: 385, + }, + { + yieldClass: 22, + age: 100, + stock: 399, + }, + { + yieldClass: 22, + age: 110, + stock: 410, + }, + { + yieldClass: 22, + age: 120, + stock: 415, + }, + { + yieldClass: 20, + age: 30, + stock: 114, + }, + { + yieldClass: 20, + age: 40, + stock: 177, + }, + { + yieldClass: 20, + age: 50, + stock: 229, + }, + { + yieldClass: 20, + age: 60, + stock: 270, + }, + { + yieldClass: 20, + age: 70, + stock: 301, + }, + { + yieldClass: 20, + age: 80, + stock: 325, + }, + { + yieldClass: 20, + age: 90, + stock: 340, + }, + { + yieldClass: 20, + age: 100, + stock: 251, + }, + { + yieldClass: 20, + age: 110, + stock: 359, + }, + { + yieldClass: 20, + age: 120, + stock: 364, + }, + { + yieldClass: 18, + age: 30, + stock: 90, + }, + { + yieldClass: 18, + age: 40, + stock: 148, + }, + { + yieldClass: 18, + age: 50, + stock: 196, + }, + { + yieldClass: 18, + age: 60, + stock: 235, + }, + { + yieldClass: 18, + age: 70, + stock: 263, + }, + { + yieldClass: 18, + age: 80, + stock: 282, + }, + { + yieldClass: 18, + age: 90, + stock: 297, + }, + { + yieldClass: 18, + age: 100, + stock: 306, + }, + { + yieldClass: 18, + age: 110, + stock: 313, + }, + { + yieldClass: 18, + age: 120, + stock: 315, + }, + { + yieldClass: 16, + age: 30, + stock: 70, + }, + { + yieldClass: 16, + age: 40, + stock: 120, + }, + { + yieldClass: 16, + age: 50, + stock: 167, + }, + { + yieldClass: 16, + age: 60, + stock: 200, + }, + { + yieldClass: 16, + age: 70, + stock: 226, + }, + { + yieldClass: 16, + age: 80, + stock: 243, + }, + { + yieldClass: 16, + age: 90, + stock: 255, + }, + { + yieldClass: 16, + age: 100, + stock: 261, + }, + { + yieldClass: 16, + age: 110, + stock: 265, + }, + { + yieldClass: 16, + age: 120, + stock: 268, + }, + { + yieldClass: 14, + age: 40, + stock: 98, + }, + { + yieldClass: 14, + age: 50, + stock: 138, + }, + { + yieldClass: 14, + age: 60, + stock: 169, + }, + { + yieldClass: 14, + age: 70, + stock: 190, + }, + { + yieldClass: 14, + age: 80, + stock: 204, + }, + { + yieldClass: 14, + age: 90, + stock: 213, + }, + { + yieldClass: 14, + age: 100, + stock: 219, + }, + { + yieldClass: 14, + age: 110, + stock: 222, + }, + { + yieldClass: 14, + age: 120, + stock: 224, + }, + { + yieldClass: 12, + age: 40, + stock: 77, + }, + { + yieldClass: 12, + age: 50, + stock: 114, + }, + { + yieldClass: 12, + age: 60, + stock: 140, + }, + { + yieldClass: 12, + age: 70, + stock: 157, + }, + { + yieldClass: 12, + age: 80, + stock: 168, + }, + { + yieldClass: 12, + age: 90, + stock: 174, + }, + { + yieldClass: 12, + age: 100, + stock: 178, + }, + { + yieldClass: 12, + age: 110, + stock: 180, + }, + { + yieldClass: 12, + age: 120, + stock: 181, + }, + ], +}; + +export default cz_cerny_kiefer; diff --git a/src/constants/yieldTables/de_lockow_birkeNordOst.ts b/src/constants/yieldTables/de_lockow_birkeNordOst.ts new file mode 100644 index 0000000..0d1b461 --- /dev/null +++ b/src/constants/yieldTables/de_lockow_birkeNordOst.ts @@ -0,0 +1,65 @@ +import YieldTable from '@/models/YieldTable'; + +const de_lockow_birkeNordOst: YieldTable = { + meta: { + title: 'Birke Nordostdeutschland', + author: 'Prof. Dr. sc. Karl-Willi Lockow', + copyright: '© Forstliche Forschungsanstalt Eberswalde, Fachgebiet Waldwachstum Eberswalde 1996', + source: 'Forstliche Forschungsanstalt Eberswalde, Fachgebiet Waldwachstum Eberswalde 1996', + sourceLink: 'https://plan-birke.de/app/uploads/2019/01/Sandbirke_1996_Lockow.pdf', + }, + rows: [ + { + yieldClass: 1, + age: 20, + stock: 80, + }, + { + yieldClass: 1, + age: 30, + stock: 137, + }, + { + yieldClass: 1, + age: 40, + stock: 180, + }, + { + yieldClass: 1, + age: 50, + stock: 209, + }, + { + yieldClass: 1, + age: 60, + stock: 226, + }, + { + yieldClass: 1, + age: 70, + stock: 237, + }, + { + yieldClass: 1, + age: 80, + stock: 242, + }, + { + yieldClass: 1, + age: 90, + stock: 246, + }, + { + yieldClass: 1, + age: 100, + stock: 248, + }, + { + yieldClass: 1, + age: 110, + stock: 249, + }, + ], +}; + +export default de_lockow_birkeNordOst; diff --git a/src/constants/yieldTables/de_marschall_bucheBraunschweig.ts b/src/constants/yieldTables/de_marschall_bucheBraunschweig.ts new file mode 100644 index 0000000..27654a6 --- /dev/null +++ b/src/constants/yieldTables/de_marschall_bucheBraunschweig.ts @@ -0,0 +1,498 @@ +import YieldTable from '@/models/YieldTable'; + +const de_marschall_bucheBraunschweig: YieldTable = { + meta: { + title: 'Buche Braunschweig', + author: 'Dipl.-Ing. Dr. Julius Marschall', + copyright: + '© 1975 Österreichischer Agrarverlag Druck- und Verlagsges.m.b.H. Nfg. KG, Sturzgasse 1A, A-1141 Wien, E-Mail: buch@avbuch.at, Internet: www.avbuch.at', + source: + '1975, Julius Marschall: Hilfstafeln für die Forsteinrichtung; Neunte Auflage; Österreichischer Agrarverlag', + sourceLink: + 'https://www.avbuch-shop.at/landwirtschaft/lehrbuecher/1347/hilfstafeln-fuer-die-forsteinrichtung', + }, + rows: [ + { + yieldClass: 10, + age: 30, + stock: 70, + }, + { + yieldClass: 10, + age: 40, + stock: 205, + }, + { + yieldClass: 10, + age: 50, + stock: 324, + }, + { + yieldClass: 10, + age: 60, + stock: 421, + }, + { + yieldClass: 10, + age: 70, + stock: 497, + }, + { + yieldClass: 10, + age: 80, + stock: 561, + }, + { + yieldClass: 10, + age: 90, + stock: 612, + }, + { + yieldClass: 10, + age: 100, + stock: 652, + }, + { + yieldClass: 10, + age: 110, + stock: 675, + }, + { + yieldClass: 10, + age: 120, + stock: 699, + }, + { + yieldClass: 10, + age: 130, + stock: 712, + }, + { + yieldClass: 10, + age: 140, + stock: 722, + }, + { + yieldClass: 9, + age: 30, + stock: 51, + }, + { + yieldClass: 9, + age: 40, + stock: 177, + }, + { + yieldClass: 9, + age: 50, + stock: 288, + }, + { + yieldClass: 9, + age: 60, + stock: 380, + }, + { + yieldClass: 9, + age: 70, + stock: 453, + }, + { + yieldClass: 9, + age: 80, + stock: 513, + }, + { + yieldClass: 9, + age: 90, + stock: 560, + }, + { + yieldClass: 9, + age: 100, + stock: 598, + }, + { + yieldClass: 9, + age: 110, + stock: 624, + }, + { + yieldClass: 9, + age: 120, + stock: 643, + }, + { + yieldClass: 9, + age: 130, + stock: 658, + }, + { + yieldClass: 9, + age: 140, + stock: 668, + }, + { + yieldClass: 8, + age: 30, + stock: 31, + }, + { + yieldClass: 8, + age: 40, + stock: 148, + }, + { + yieldClass: 8, + age: 50, + stock: 252, + }, + { + yieldClass: 8, + age: 60, + stock: 339, + }, + { + yieldClass: 8, + age: 70, + stock: 408, + }, + { + yieldClass: 8, + age: 80, + stock: 466, + }, + { + yieldClass: 8, + age: 90, + stock: 511, + }, + { + yieldClass: 8, + age: 100, + stock: 546, + }, + { + yieldClass: 8, + age: 110, + stock: 571, + }, + { + yieldClass: 8, + age: 120, + stock: 591, + }, + { + yieldClass: 8, + age: 130, + stock: 605, + }, + { + yieldClass: 8, + age: 140, + stock: 613, + }, + { + yieldClass: 7, + age: 30, + stock: 16, + }, + { + yieldClass: 7, + age: 40, + stock: 120, + }, + { + yieldClass: 7, + age: 50, + stock: 215, + }, + { + yieldClass: 7, + age: 60, + stock: 298, + }, + { + yieldClass: 7, + age: 70, + stock: 362, + }, + { + yieldClass: 7, + age: 80, + stock: 417, + }, + { + yieldClass: 7, + age: 90, + stock: 460, + }, + { + yieldClass: 7, + age: 100, + stock: 493, + }, + { + yieldClass: 7, + age: 110, + stock: 519, + }, + { + yieldClass: 7, + age: 120, + stock: 537, + }, + { + yieldClass: 7, + age: 130, + stock: 550, + }, + { + yieldClass: 7, + age: 140, + stock: 560, + }, + { + yieldClass: 6, + age: 30, + stock: 10, + }, + { + yieldClass: 6, + age: 40, + stock: 92, + }, + { + yieldClass: 6, + age: 50, + stock: 177, + }, + { + yieldClass: 6, + age: 60, + stock: 253, + }, + { + yieldClass: 6, + age: 70, + stock: 316, + }, + { + yieldClass: 6, + age: 80, + stock: 365, + }, + { + yieldClass: 6, + age: 90, + stock: 405, + }, + { + yieldClass: 6, + age: 100, + stock: 435, + }, + { + yieldClass: 6, + age: 110, + stock: 460, + }, + { + yieldClass: 6, + age: 120, + stock: 477, + }, + { + yieldClass: 6, + age: 130, + stock: 490, + }, + { + yieldClass: 6, + age: 140, + stock: 500, + }, + { + yieldClass: 5, + age: 30, + stock: 0, + }, + { + yieldClass: 5, + age: 40, + stock: 64, + }, + { + yieldClass: 5, + age: 50, + stock: 138, + }, + { + yieldClass: 5, + age: 60, + stock: 207, + }, + { + yieldClass: 5, + age: 70, + stock: 265, + }, + { + yieldClass: 5, + age: 80, + stock: 313, + }, + { + yieldClass: 5, + age: 90, + stock: 351, + }, + { + yieldClass: 5, + age: 100, + stock: 381, + }, + { + yieldClass: 5, + age: 110, + stock: 403, + }, + { + yieldClass: 5, + age: 120, + stock: 418, + }, + { + yieldClass: 5, + age: 130, + stock: 430, + }, + { + yieldClass: 5, + age: 140, + stock: 440, + }, + { + yieldClass: 4, + age: 30, + stock: 0, + }, + { + yieldClass: 4, + age: 40, + stock: 36, + }, + { + yieldClass: 4, + age: 50, + stock: 100, + }, + { + yieldClass: 4, + age: 60, + stock: 162, + }, + { + yieldClass: 4, + age: 70, + stock: 215, + }, + { + yieldClass: 4, + age: 80, + stock: 258, + }, + { + yieldClass: 4, + age: 90, + stock: 294, + }, + { + yieldClass: 4, + age: 100, + stock: 322, + }, + { + yieldClass: 4, + age: 110, + stock: 344, + }, + { + yieldClass: 4, + age: 120, + stock: 360, + }, + { + yieldClass: 4, + age: 130, + stock: 371, + }, + { + yieldClass: 4, + age: 140, + stock: 379, + }, + { + yieldClass: 3, + age: 30, + stock: 0, + }, + { + yieldClass: 3, + age: 40, + stock: 15, + }, + { + yieldClass: 3, + age: 50, + stock: 62, + }, + { + yieldClass: 3, + age: 60, + stock: 111, + }, + { + yieldClass: 3, + age: 70, + stock: 156, + }, + { + yieldClass: 3, + age: 80, + stock: 196, + }, + { + yieldClass: 3, + age: 90, + stock: 229, + }, + { + yieldClass: 3, + age: 100, + stock: 256, + }, + { + yieldClass: 3, + age: 110, + stock: 275, + }, + { + yieldClass: 3, + age: 120, + stock: 291, + }, + { + yieldClass: 3, + age: 130, + stock: 303, + }, + { + yieldClass: 3, + age: 140, + stock: 312, + }, + ], +}; + +export default de_marschall_bucheBraunschweig; diff --git a/src/constants/yieldTables/de_marschall_douglasieBadenWuerttemberg.ts b/src/constants/yieldTables/de_marschall_douglasieBadenWuerttemberg.ts new file mode 100644 index 0000000..269407c --- /dev/null +++ b/src/constants/yieldTables/de_marschall_douglasieBadenWuerttemberg.ts @@ -0,0 +1,643 @@ +import YieldTable from '@/models/YieldTable'; + +const de_marschall_douglasieBadenWuerttemberg: YieldTable = { + meta: { + title: 'Douglasie Baden Württemberg', + author: 'Dipl.-Ing. Dr. Julius Marschall', + copyright: + '© 1975 Österreichischer Agrarverlag Druck- und Verlagsges.m.b.H. Nfg. KG, Sturzgasse 1A, A-1141 Wien, E-Mail: buch@avbuch.at, Internet: www.avbuch.at', + source: + '1975, Julius Marschall: Hilfstafeln für die Forsteinrichtung; Neunte Auflage; Österreichischer Agrarverlag', + sourceLink: + 'https://www.avbuch-shop.at/landwirtschaft/lehrbuecher/1347/hilfstafeln-fuer-die-forsteinrichtung', + }, + rows: [ + { + yieldClass: 18, + age: 20, + stock: 155, + }, + { + yieldClass: 18, + age: 25, + stock: 266, + }, + { + yieldClass: 18, + age: 30, + stock: 368, + }, + { + yieldClass: 18, + age: 35, + stock: 453, + }, + { + yieldClass: 18, + age: 40, + stock: 521, + }, + { + yieldClass: 18, + age: 45, + stock: 570, + }, + { + yieldClass: 18, + age: 50, + stock: 605, + }, + { + yieldClass: 18, + age: 55, + stock: 629, + }, + { + yieldClass: 18, + age: 60, + stock: 647, + }, + { + yieldClass: 18, + age: 65, + stock: 665, + }, + { + yieldClass: 18, + age: 70, + stock: 683, + }, + { + yieldClass: 18, + age: 75, + stock: 704, + }, + { + yieldClass: 18, + age: 80, + stock: 722, + }, + { + yieldClass: 17, + age: 20, + stock: 138, + }, + { + yieldClass: 17, + age: 25, + stock: 245, + }, + { + yieldClass: 17, + age: 30, + stock: 345, + }, + { + yieldClass: 17, + age: 35, + stock: 429, + }, + { + yieldClass: 17, + age: 40, + stock: 496, + }, + { + yieldClass: 17, + age: 45, + stock: 545, + }, + { + yieldClass: 17, + age: 50, + stock: 581, + }, + { + yieldClass: 17, + age: 55, + stock: 605, + }, + { + yieldClass: 17, + age: 60, + stock: 624, + }, + { + yieldClass: 17, + age: 65, + stock: 641, + }, + { + yieldClass: 17, + age: 70, + stock: 659, + }, + { + yieldClass: 17, + age: 75, + stock: 678, + }, + { + yieldClass: 17, + age: 80, + stock: 696, + }, + { + yieldClass: 16, + age: 20, + stock: 121, + }, + { + yieldClass: 16, + age: 25, + stock: 225, + }, + { + yieldClass: 16, + age: 30, + stock: 321, + }, + { + yieldClass: 16, + age: 35, + stock: 404, + }, + { + yieldClass: 16, + age: 40, + stock: 470, + }, + { + yieldClass: 16, + age: 45, + stock: 520, + }, + { + yieldClass: 16, + age: 50, + stock: 555, + }, + { + yieldClass: 16, + age: 55, + stock: 580, + }, + { + yieldClass: 16, + age: 60, + stock: 599, + }, + { + yieldClass: 16, + age: 65, + stock: 617, + }, + { + yieldClass: 16, + age: 70, + stock: 634, + }, + { + yieldClass: 16, + age: 75, + stock: 653, + }, + { + yieldClass: 16, + age: 80, + stock: 670, + }, + { + yieldClass: 15, + age: 20, + stock: 105, + }, + { + yieldClass: 15, + age: 25, + stock: 205, + }, + { + yieldClass: 15, + age: 30, + stock: 298, + }, + { + yieldClass: 15, + age: 35, + stock: 380, + }, + { + yieldClass: 15, + age: 40, + stock: 446, + }, + { + yieldClass: 15, + age: 45, + stock: 495, + }, + { + yieldClass: 15, + age: 50, + stock: 531, + }, + { + yieldClass: 15, + age: 55, + stock: 557, + }, + { + yieldClass: 15, + age: 60, + stock: 577, + }, + { + yieldClass: 15, + age: 65, + stock: 594, + }, + { + yieldClass: 15, + age: 70, + stock: 612, + }, + { + yieldClass: 15, + age: 75, + stock: 630, + }, + { + yieldClass: 15, + age: 80, + stock: 645, + }, + { + yieldClass: 14, + age: 20, + stock: 88, + }, + { + yieldClass: 14, + age: 25, + stock: 183, + }, + { + yieldClass: 14, + age: 30, + stock: 275, + }, + { + yieldClass: 14, + age: 35, + stock: 355, + }, + { + yieldClass: 14, + age: 40, + stock: 419, + }, + { + yieldClass: 14, + age: 45, + stock: 469, + }, + { + yieldClass: 14, + age: 50, + stock: 506, + }, + { + yieldClass: 14, + age: 55, + stock: 532, + }, + { + yieldClass: 14, + age: 60, + stock: 552, + }, + { + yieldClass: 14, + age: 65, + stock: 570, + }, + { + yieldClass: 14, + age: 70, + stock: 587, + }, + { + yieldClass: 14, + age: 75, + stock: 604, + }, + { + yieldClass: 14, + age: 80, + stock: 619, + }, + { + yieldClass: 13, + age: 25, + stock: 163, + }, + { + yieldClass: 13, + age: 30, + stock: 251, + }, + { + yieldClass: 13, + age: 35, + stock: 329, + }, + { + yieldClass: 13, + age: 40, + stock: 393, + }, + { + yieldClass: 13, + age: 45, + stock: 443, + }, + { + yieldClass: 13, + age: 50, + stock: 480, + }, + { + yieldClass: 13, + age: 55, + stock: 507, + }, + { + yieldClass: 13, + age: 60, + stock: 528, + }, + { + yieldClass: 13, + age: 65, + stock: 546, + }, + { + yieldClass: 13, + age: 70, + stock: 563, + }, + { + yieldClass: 13, + age: 75, + stock: 579, + }, + { + yieldClass: 13, + age: 80, + stock: 593, + }, + { + yieldClass: 12, + age: 25, + stock: 141, + }, + { + yieldClass: 12, + age: 30, + stock: 226, + }, + { + yieldClass: 12, + age: 35, + stock: 302, + }, + { + yieldClass: 12, + age: 40, + stock: 364, + }, + { + yieldClass: 12, + age: 45, + stock: 412, + }, + { + yieldClass: 12, + age: 50, + stock: 448, + }, + { + yieldClass: 12, + age: 55, + stock: 476, + }, + { + yieldClass: 12, + age: 60, + stock: 497, + }, + { + yieldClass: 12, + age: 65, + stock: 514, + }, + { + yieldClass: 12, + age: 70, + stock: 532, + }, + { + yieldClass: 12, + age: 75, + stock: 548, + }, + { + yieldClass: 12, + age: 80, + stock: 562, + }, + { + yieldClass: 11, + age: 25, + stock: 118, + }, + { + yieldClass: 11, + age: 30, + stock: 201, + }, + { + yieldClass: 11, + age: 35, + stock: 274, + }, + { + yieldClass: 11, + age: 40, + stock: 334, + }, + { + yieldClass: 11, + age: 45, + stock: 381, + }, + { + yieldClass: 11, + age: 50, + stock: 417, + }, + { + yieldClass: 11, + age: 55, + stock: 444, + }, + { + yieldClass: 11, + age: 60, + stock: 465, + }, + { + yieldClass: 11, + age: 65, + stock: 483, + }, + { + yieldClass: 11, + age: 70, + stock: 500, + }, + { + yieldClass: 11, + age: 75, + stock: 517, + }, + { + yieldClass: 11, + age: 80, + stock: 531, + }, + { + yieldClass: 10, + age: 25, + stock: 95, + }, + { + yieldClass: 10, + age: 30, + stock: 175, + }, + { + yieldClass: 10, + age: 35, + stock: 245, + }, + { + yieldClass: 10, + age: 40, + stock: 304, + }, + { + yieldClass: 10, + age: 45, + stock: 350, + }, + { + yieldClass: 10, + age: 50, + stock: 386, + }, + { + yieldClass: 10, + age: 55, + stock: 413, + }, + { + yieldClass: 10, + age: 60, + stock: 435, + }, + { + yieldClass: 10, + age: 65, + stock: 454, + }, + { + yieldClass: 10, + age: 70, + stock: 471, + }, + { + yieldClass: 10, + age: 75, + stock: 487, + }, + { + yieldClass: 10, + age: 80, + stock: 501, + }, + { + yieldClass: 9, + age: 25, + stock: 72, + }, + { + yieldClass: 9, + age: 30, + stock: 148, + }, + { + yieldClass: 9, + age: 35, + stock: 219, + }, + { + yieldClass: 9, + age: 40, + stock: 276, + }, + { + yieldClass: 9, + age: 45, + stock: 321, + }, + { + yieldClass: 9, + age: 50, + stock: 356, + }, + { + yieldClass: 9, + age: 55, + stock: 382, + }, + { + yieldClass: 9, + age: 60, + stock: 404, + }, + { + yieldClass: 9, + age: 65, + stock: 422, + }, + { + yieldClass: 9, + age: 70, + stock: 440, + }, + { + yieldClass: 9, + age: 75, + stock: 456, + }, + { + yieldClass: 9, + age: 80, + stock: 469, + }, + ], +}; + +export default de_marschall_douglasieBadenWuerttemberg; diff --git a/src/constants/yieldTables/de_marschall_fichteBayern.ts b/src/constants/yieldTables/de_marschall_fichteBayern.ts new file mode 100644 index 0000000..767c12f --- /dev/null +++ b/src/constants/yieldTables/de_marschall_fichteBayern.ts @@ -0,0 +1,788 @@ +import YieldTable from '@/models/YieldTable'; + +const de_marschall_fichteBayern: YieldTable = { + meta: { + title: 'Fichte Bayern', + author: 'Dipl.-Ing. Dr. Julius Marschall', + copyright: + '© 1975 Österreichischer Agrarverlag Druck- und Verlagsges.m.b.H. Nfg. KG, Sturzgasse 1A, A-1141 Wien, E-Mail: buch@avbuch.at, Internet: www.avbuch.at', + source: + '1975, Julius Marschall: Hilfstafeln für die Forsteinrichtung; Neunte Auflage; Österreichischer Agrarverlag', + sourceLink: + 'https://www.avbuch-shop.at/landwirtschaft/lehrbuecher/1347/hilfstafeln-fuer-die-forsteinrichtung', + }, + rows: [ + { + yieldClass: 17, + age: 20, + stock: 75, + }, + { + yieldClass: 17, + age: 30, + stock: 209, + }, + { + yieldClass: 17, + age: 40, + stock: 353, + }, + { + yieldClass: 17, + age: 50, + stock: 500, + }, + { + yieldClass: 17, + age: 60, + stock: 644, + }, + { + yieldClass: 17, + age: 70, + stock: 773, + }, + { + yieldClass: 17, + age: 80, + stock: 885, + }, + { + yieldClass: 17, + age: 90, + stock: 981, + }, + { + yieldClass: 17, + age: 100, + stock: 1055, + }, + { + yieldClass: 17, + age: 110, + stock: 1110, + }, + { + yieldClass: 17, + age: 120, + stock: 1154, + }, + { + yieldClass: 16, + age: 20, + stock: 65, + }, + { + yieldClass: 16, + age: 30, + stock: 194, + }, + { + yieldClass: 16, + age: 40, + stock: 334, + }, + { + yieldClass: 16, + age: 50, + stock: 478, + }, + { + yieldClass: 16, + age: 60, + stock: 612, + }, + { + yieldClass: 16, + age: 70, + stock: 733, + }, + { + yieldClass: 16, + age: 80, + stock: 841, + }, + { + yieldClass: 16, + age: 90, + stock: 930, + }, + { + yieldClass: 16, + age: 100, + stock: 999, + }, + { + yieldClass: 16, + age: 110, + stock: 1050, + }, + { + yieldClass: 16, + age: 120, + stock: 1090, + }, + { + yieldClass: 15, + age: 20, + stock: 55, + }, + { + yieldClass: 15, + age: 30, + stock: 178, + }, + { + yieldClass: 15, + age: 40, + stock: 313, + }, + { + yieldClass: 15, + age: 50, + stock: 449, + }, + { + yieldClass: 15, + age: 60, + stock: 579, + }, + { + yieldClass: 15, + age: 70, + stock: 696, + }, + { + yieldClass: 15, + age: 80, + stock: 795, + }, + { + yieldClass: 15, + age: 90, + stock: 876, + }, + { + yieldClass: 15, + age: 100, + stock: 940, + }, + { + yieldClass: 15, + age: 110, + stock: 991, + }, + { + yieldClass: 15, + age: 120, + stock: 1026, + }, + { + yieldClass: 14, + age: 20, + stock: 43, + }, + { + yieldClass: 14, + age: 30, + stock: 162, + }, + { + yieldClass: 14, + age: 40, + stock: 290, + }, + { + yieldClass: 14, + age: 50, + stock: 419, + }, + { + yieldClass: 14, + age: 60, + stock: 541, + }, + { + yieldClass: 14, + age: 70, + stock: 652, + }, + { + yieldClass: 14, + age: 80, + stock: 746, + }, + { + yieldClass: 14, + age: 90, + stock: 822, + }, + { + yieldClass: 14, + age: 100, + stock: 883, + }, + { + yieldClass: 14, + age: 110, + stock: 927, + }, + { + yieldClass: 14, + age: 120, + stock: 961, + }, + { + yieldClass: 13, + age: 20, + stock: 30, + }, + { + yieldClass: 13, + age: 30, + stock: 143, + }, + { + yieldClass: 13, + age: 40, + stock: 265, + }, + { + yieldClass: 13, + age: 50, + stock: 389, + }, + { + yieldClass: 13, + age: 60, + stock: 505, + }, + { + yieldClass: 13, + age: 70, + stock: 609, + }, + { + yieldClass: 13, + age: 80, + stock: 699, + }, + { + yieldClass: 13, + age: 90, + stock: 770, + }, + { + yieldClass: 13, + age: 100, + stock: 827, + }, + { + yieldClass: 13, + age: 110, + stock: 870, + }, + { + yieldClass: 13, + age: 120, + stock: 897, + }, + { + yieldClass: 12, + age: 20, + stock: 0, + }, + { + yieldClass: 12, + age: 30, + stock: 126, + }, + { + yieldClass: 12, + age: 40, + stock: 251, + }, + { + yieldClass: 12, + age: 50, + stock: 357, + }, + { + yieldClass: 12, + age: 60, + stock: 467, + }, + { + yieldClass: 12, + age: 70, + stock: 566, + }, + { + yieldClass: 12, + age: 80, + stock: 647, + }, + { + yieldClass: 12, + age: 90, + stock: 714, + }, + { + yieldClass: 12, + age: 100, + stock: 768, + }, + { + yieldClass: 12, + age: 110, + stock: 809, + }, + { + yieldClass: 12, + age: 120, + stock: 835, + }, + { + yieldClass: 11, + age: 20, + stock: 0, + }, + { + yieldClass: 11, + age: 30, + stock: 107, + }, + { + yieldClass: 11, + age: 40, + stock: 214, + }, + { + yieldClass: 11, + age: 50, + stock: 323, + }, + { + yieldClass: 11, + age: 60, + stock: 426, + }, + { + yieldClass: 11, + age: 70, + stock: 520, + }, + { + yieldClass: 11, + age: 80, + stock: 598, + }, + { + yieldClass: 11, + age: 90, + stock: 661, + }, + { + yieldClass: 11, + age: 100, + stock: 713, + }, + { + yieldClass: 11, + age: 110, + stock: 749, + }, + { + yieldClass: 11, + age: 120, + stock: 774, + }, + { + yieldClass: 10, + age: 20, + stock: 0, + }, + { + yieldClass: 10, + age: 30, + stock: 88, + }, + { + yieldClass: 10, + age: 40, + stock: 188, + }, + { + yieldClass: 10, + age: 50, + stock: 290, + }, + { + yieldClass: 10, + age: 60, + stock: 386, + }, + { + yieldClass: 10, + age: 70, + stock: 473, + }, + { + yieldClass: 10, + age: 80, + stock: 547, + }, + { + yieldClass: 10, + age: 90, + stock: 606, + }, + { + yieldClass: 10, + age: 100, + stock: 654, + }, + { + yieldClass: 10, + age: 110, + stock: 691, + }, + { + yieldClass: 10, + age: 120, + stock: 713, + }, + { + yieldClass: 9, + age: 20, + stock: 0, + }, + { + yieldClass: 9, + age: 30, + stock: 69, + }, + { + yieldClass: 9, + age: 40, + stock: 161, + }, + { + yieldClass: 9, + age: 50, + stock: 255, + }, + { + yieldClass: 9, + age: 60, + stock: 346, + }, + { + yieldClass: 9, + age: 70, + stock: 426, + }, + { + yieldClass: 9, + age: 80, + stock: 496, + }, + { + yieldClass: 9, + age: 90, + stock: 554, + }, + { + yieldClass: 9, + age: 100, + stock: 598, + }, + { + yieldClass: 9, + age: 110, + stock: 631, + }, + { + yieldClass: 9, + age: 120, + stock: 654, + }, + { + yieldClass: 8, + age: 20, + stock: 0, + }, + { + yieldClass: 8, + age: 30, + stock: 0, + }, + { + yieldClass: 8, + age: 40, + stock: 132, + }, + { + yieldClass: 8, + age: 50, + stock: 220, + }, + { + yieldClass: 8, + age: 60, + stock: 304, + }, + { + yieldClass: 8, + age: 70, + stock: 378, + }, + { + yieldClass: 8, + age: 80, + stock: 445, + }, + { + yieldClass: 8, + age: 90, + stock: 498, + }, + { + yieldClass: 8, + age: 100, + stock: 539, + }, + { + yieldClass: 8, + age: 110, + stock: 572, + }, + { + yieldClass: 8, + age: 120, + stock: 594, + }, + { + yieldClass: 7, + age: 20, + stock: 0, + }, + { + yieldClass: 7, + age: 30, + stock: 0, + }, + { + yieldClass: 7, + age: 40, + stock: 106, + }, + { + yieldClass: 7, + age: 50, + stock: 185, + }, + { + yieldClass: 7, + age: 60, + stock: 261, + }, + { + yieldClass: 7, + age: 70, + stock: 331, + }, + { + yieldClass: 7, + age: 80, + stock: 393, + }, + { + yieldClass: 7, + age: 90, + stock: 442, + }, + { + yieldClass: 7, + age: 100, + stock: 483, + }, + { + yieldClass: 7, + age: 110, + stock: 514, + }, + { + yieldClass: 7, + age: 120, + stock: 534, + }, + { + yieldClass: 6, + age: 20, + stock: 0, + }, + { + yieldClass: 6, + age: 30, + stock: 0, + }, + { + yieldClass: 6, + age: 40, + stock: 77, + }, + { + yieldClass: 6, + age: 50, + stock: 149, + }, + { + yieldClass: 6, + age: 60, + stock: 219, + }, + { + yieldClass: 6, + age: 70, + stock: 284, + }, + { + yieldClass: 6, + age: 80, + stock: 343, + }, + { + yieldClass: 6, + age: 90, + stock: 389, + }, + { + yieldClass: 6, + age: 100, + stock: 428, + }, + { + yieldClass: 6, + age: 110, + stock: 456, + }, + { + yieldClass: 6, + age: 120, + stock: 477, + }, + { + yieldClass: 5, + age: 20, + stock: 0, + }, + { + yieldClass: 5, + age: 30, + stock: 0, + }, + { + yieldClass: 5, + age: 40, + stock: 46, + }, + { + yieldClass: 5, + age: 50, + stock: 112, + }, + { + yieldClass: 5, + age: 60, + stock: 177, + }, + { + yieldClass: 5, + age: 70, + stock: 237, + }, + { + yieldClass: 5, + age: 80, + stock: 291, + }, + { + yieldClass: 5, + age: 90, + stock: 335, + }, + { + yieldClass: 5, + age: 100, + stock: 372, + }, + { + yieldClass: 5, + age: 110, + stock: 399, + }, + { + yieldClass: 5, + age: 120, + stock: 418, + }, + { + yieldClass: 4, + age: 20, + stock: 0, + }, + { + yieldClass: 4, + age: 30, + stock: 0, + }, + { + yieldClass: 4, + age: 40, + stock: 0, + }, + { + yieldClass: 4, + age: 50, + stock: 72, + }, + { + yieldClass: 4, + age: 60, + stock: 131, + }, + { + yieldClass: 4, + age: 70, + stock: 188, + }, + { + yieldClass: 4, + age: 80, + stock: 238, + }, + { + yieldClass: 4, + age: 90, + stock: 280, + }, + { + yieldClass: 4, + age: 100, + stock: 316, + }, + { + yieldClass: 4, + age: 110, + stock: 343, + }, + { + yieldClass: 4, + age: 120, + stock: 361, + }, + ], +}; + +export default de_marschall_fichteBayern; diff --git a/src/constants/yieldTables/de_marschall_tanneWuerttemberg.ts b/src/constants/yieldTables/de_marschall_tanneWuerttemberg.ts new file mode 100644 index 0000000..657d86a --- /dev/null +++ b/src/constants/yieldTables/de_marschall_tanneWuerttemberg.ts @@ -0,0 +1,528 @@ +import YieldTable from '@/models/YieldTable'; + +const de_marschall_tanneWuerttemberg: YieldTable = { + meta: { + title: 'Tanne Wüttemberg', + author: 'Dipl.-Ing. Dr. Julius Marschall', + copyright: + '© 1975 Österreichischer Agrarverlag Druck- und Verlagsges.m.b.H. Nfg. KG, Sturzgasse 1A, A-1141 Wien, E-Mail: buch@avbuch.at, Internet: www.avbuch.at', + source: + '1975, Julius Marschall: Hilfstafeln für die Forsteinrichtung; Neunte Auflage; Österreichischer Agrarverlag', + sourceLink: + 'https://www.avbuch-shop.at/landwirtschaft/lehrbuecher/1347/hilfstafeln-fuer-die-forsteinrichtung', + }, + rows: [ + { + yieldClass: 20, + age: 30, + stock: 230, + }, + { + yieldClass: 20, + age: 40, + stock: 409, + }, + { + yieldClass: 20, + age: 50, + stock: 566, + }, + { + yieldClass: 20, + age: 60, + stock: 691, + }, + { + yieldClass: 20, + age: 70, + stock: 788, + }, + { + yieldClass: 20, + age: 80, + stock: 865, + }, + { + yieldClass: 20, + age: 90, + stock: 927, + }, + { + yieldClass: 20, + age: 100, + stock: 977, + }, + { + yieldClass: 20, + age: 110, + stock: 1017, + }, + { + yieldClass: 20, + age: 120, + stock: 1044, + }, + { + yieldClass: 20, + age: 130, + stock: 1062, + }, + { + yieldClass: 20, + age: 140, + stock: 1067, + }, + { + yieldClass: 20, + age: 150, + stock: 1068, + }, + { + yieldClass: 18, + age: 30, + stock: 186, + }, + { + yieldClass: 18, + age: 40, + stock: 348, + }, + { + yieldClass: 18, + age: 50, + stock: 495, + }, + { + yieldClass: 18, + age: 60, + stock: 614, + }, + { + yieldClass: 18, + age: 70, + stock: 708, + }, + { + yieldClass: 18, + age: 80, + stock: 783, + }, + { + yieldClass: 18, + age: 90, + stock: 844, + }, + { + yieldClass: 18, + age: 100, + stock: 895, + }, + { + yieldClass: 18, + age: 110, + stock: 937, + }, + { + yieldClass: 18, + age: 120, + stock: 967, + }, + { + yieldClass: 18, + age: 130, + stock: 989, + }, + { + yieldClass: 18, + age: 140, + stock: 998, + }, + { + yieldClass: 18, + age: 150, + stock: 1000, + }, + { + yieldClass: 16, + age: 30, + stock: 144, + }, + { + yieldClass: 16, + age: 40, + stock: 283, + }, + { + yieldClass: 16, + age: 50, + stock: 419, + }, + { + yieldClass: 16, + age: 60, + stock: 535, + }, + { + yieldClass: 16, + age: 70, + stock: 628, + }, + { + yieldClass: 16, + age: 80, + stock: 703, + }, + { + yieldClass: 16, + age: 90, + stock: 765, + }, + { + yieldClass: 16, + age: 100, + stock: 816, + }, + { + yieldClass: 16, + age: 110, + stock: 859, + }, + { + yieldClass: 16, + age: 120, + stock: 891, + }, + { + yieldClass: 16, + age: 130, + stock: 913, + }, + { + yieldClass: 16, + age: 140, + stock: 926, + }, + { + yieldClass: 16, + age: 150, + stock: 926, + }, + { + yieldClass: 14, + age: 30, + stock: 102, + }, + { + yieldClass: 14, + age: 40, + stock: 222, + }, + { + yieldClass: 14, + age: 50, + stock: 346, + }, + { + yieldClass: 14, + age: 60, + stock: 455, + }, + { + yieldClass: 14, + age: 70, + stock: 547, + }, + { + yieldClass: 14, + age: 80, + stock: 623, + }, + { + yieldClass: 14, + age: 90, + stock: 685, + }, + { + yieldClass: 14, + age: 100, + stock: 738, + }, + { + yieldClass: 14, + age: 110, + stock: 780, + }, + { + yieldClass: 14, + age: 120, + stock: 812, + }, + { + yieldClass: 14, + age: 130, + stock: 836, + }, + { + yieldClass: 14, + age: 140, + stock: 852, + }, + { + yieldClass: 14, + age: 150, + stock: 858, + }, + { + yieldClass: 12, + age: 30, + stock: 62, + }, + { + yieldClass: 12, + age: 40, + stock: 158, + }, + { + yieldClass: 12, + age: 50, + stock: 271, + }, + { + yieldClass: 12, + age: 60, + stock: 375, + }, + { + yieldClass: 12, + age: 70, + stock: 463, + }, + { + yieldClass: 12, + age: 80, + stock: 541, + }, + { + yieldClass: 12, + age: 90, + stock: 605, + }, + { + yieldClass: 12, + age: 100, + stock: 659, + }, + { + yieldClass: 12, + age: 110, + stock: 700, + }, + { + yieldClass: 12, + age: 120, + stock: 735, + }, + { + yieldClass: 12, + age: 130, + stock: 761, + }, + { + yieldClass: 12, + age: 140, + stock: 779, + }, + { + yieldClass: 12, + age: 150, + stock: 789, + }, + { + yieldClass: 10, + age: 30, + stock: 27, + }, + { + yieldClass: 10, + age: 40, + stock: 99, + }, + { + yieldClass: 10, + age: 50, + stock: 197, + }, + { + yieldClass: 10, + age: 60, + stock: 295, + }, + { + yieldClass: 10, + age: 70, + stock: 382, + }, + { + yieldClass: 10, + age: 80, + stock: 458, + }, + { + yieldClass: 10, + age: 90, + stock: 524, + }, + { + yieldClass: 10, + age: 100, + stock: 578, + }, + { + yieldClass: 10, + age: 110, + stock: 623, + }, + { + yieldClass: 10, + age: 120, + stock: 653, + }, + { + yieldClass: 10, + age: 130, + stock: 681, + }, + { + yieldClass: 10, + age: 140, + stock: 700, + }, + { + yieldClass: 10, + age: 150, + stock: 716, + }, + { + yieldClass: 8, + age: 40, + stock: 70, + }, + { + yieldClass: 8, + age: 50, + stock: 123, + }, + { + yieldClass: 8, + age: 60, + stock: 212, + }, + { + yieldClass: 8, + age: 70, + stock: 296, + }, + { + yieldClass: 8, + age: 80, + stock: 372, + }, + { + yieldClass: 8, + age: 90, + stock: 437, + }, + { + yieldClass: 8, + age: 100, + stock: 491, + }, + { + yieldClass: 8, + age: 110, + stock: 535, + }, + { + yieldClass: 8, + age: 120, + stock: 571, + }, + { + yieldClass: 8, + age: 130, + stock: 599, + }, + { + yieldClass: 8, + age: 140, + stock: 619, + }, + { + yieldClass: 8, + age: 150, + stock: 634, + }, + { + yieldClass: 6, + age: 40, + stock: 0, + }, + { + yieldClass: 6, + age: 50, + stock: 53, + }, + { + yieldClass: 6, + age: 60, + stock: 127, + }, + { + yieldClass: 6, + age: 70, + stock: 207, + }, + { + yieldClass: 6, + age: 80, + stock: 280, + }, + { + yieldClass: 6, + age: 90, + stock: 344, + }, + { + yieldClass: 6, + age: 100, + stock: 397, + }, + { + yieldClass: 6, + age: 110, + stock: 441, + }, + { + yieldClass: 6, + age: 120, + stock: 477, + }, + { + yieldClass: 6, + age: 130, + stock: 506, + }, + { + yieldClass: 6, + age: 140, + stock: 529, + }, + { + yieldClass: 6, + age: 150, + stock: 548, + }, + ], +}; + +export default de_marschall_tanneWuerttemberg; diff --git a/src/constants/yieldTables/hu_marschall_eicheUngarn.ts b/src/constants/yieldTables/hu_marschall_eicheUngarn.ts new file mode 100644 index 0000000..2b3ef67 --- /dev/null +++ b/src/constants/yieldTables/hu_marschall_eicheUngarn.ts @@ -0,0 +1,428 @@ +import YieldTable from '@/models/YieldTable'; + +const hu_marschall_eicheUngarn: YieldTable = { + meta: { + title: 'Eiche Ungarn', + author: 'Dipl.-Ing. Dr. Julius Marschall', + copyright: + '© 1975 Österreichischer Agrarverlag Druck- und Verlagsges.m.b.H. Nfg. KG, Sturzgasse 1A, A-1141 Wien, E-Mail: buch@avbuch.at, Internet: www.avbuch.at', + source: + '1975, Julius Marschall: Hilfstafeln für die Forsteinrichtung; Neunte Auflage; Österreichischer Agrarverlag', + sourceLink: + 'https://www.avbuch-shop.at/landwirtschaft/lehrbuecher/1347/hilfstafeln-fuer-die-forsteinrichtung', + }, + rows: [ + { + yieldClass: 8, + age: 10, + stock: 0, + }, + { + yieldClass: 8, + age: 20, + stock: 0, + }, + { + yieldClass: 8, + age: 30, + stock: 106, + }, + { + yieldClass: 8, + age: 40, + stock: 178, + }, + { + yieldClass: 8, + age: 50, + stock: 246, + }, + { + yieldClass: 8, + age: 60, + stock: 309, + }, + { + yieldClass: 8, + age: 70, + stock: 370, + }, + { + yieldClass: 8, + age: 80, + stock: 422, + }, + { + yieldClass: 8, + age: 90, + stock: 473, + }, + { + yieldClass: 8, + age: 100, + stock: 524, + }, + { + yieldClass: 8, + age: 110, + stock: 565, + }, + { + yieldClass: 8, + age: 120, + stock: 602, + }, + { + yieldClass: 8, + age: 130, + stock: 634, + }, + { + yieldClass: 7, + age: 10, + stock: 0, + }, + { + yieldClass: 7, + age: 20, + stock: 0, + }, + { + yieldClass: 7, + age: 30, + stock: 68, + }, + { + yieldClass: 7, + age: 40, + stock: 142, + }, + { + yieldClass: 7, + age: 50, + stock: 206, + }, + { + yieldClass: 7, + age: 60, + stock: 265, + }, + { + yieldClass: 7, + age: 70, + stock: 318, + }, + { + yieldClass: 7, + age: 80, + stock: 370, + }, + { + yieldClass: 7, + age: 90, + stock: 416, + }, + { + yieldClass: 7, + age: 100, + stock: 460, + }, + { + yieldClass: 7, + age: 110, + stock: 497, + }, + { + yieldClass: 7, + age: 120, + stock: 530, + }, + { + yieldClass: 7, + age: 130, + stock: 562, + }, + { + yieldClass: 6, + age: 10, + stock: 0, + }, + { + yieldClass: 6, + age: 20, + stock: 0, + }, + { + yieldClass: 6, + age: 30, + stock: 0, + }, + { + yieldClass: 6, + age: 40, + stock: 104, + }, + { + yieldClass: 6, + age: 50, + stock: 164, + }, + { + yieldClass: 6, + age: 60, + stock: 218, + }, + { + yieldClass: 6, + age: 70, + stock: 268, + }, + { + yieldClass: 6, + age: 80, + stock: 316, + }, + { + yieldClass: 6, + age: 90, + stock: 358, + }, + { + yieldClass: 6, + age: 100, + stock: 396, + }, + { + yieldClass: 6, + age: 110, + stock: 430, + }, + { + yieldClass: 6, + age: 120, + stock: 459, + }, + { + yieldClass: 6, + age: 130, + stock: 485, + }, + { + yieldClass: 5, + age: 10, + stock: 0, + }, + { + yieldClass: 5, + age: 20, + stock: 0, + }, + { + yieldClass: 5, + age: 30, + stock: 0, + }, + { + yieldClass: 5, + age: 40, + stock: 65, + }, + { + yieldClass: 5, + age: 50, + stock: 123, + }, + { + yieldClass: 5, + age: 60, + stock: 176, + }, + { + yieldClass: 5, + age: 70, + stock: 212, + }, + { + yieldClass: 5, + age: 80, + stock: 264, + }, + { + yieldClass: 5, + age: 90, + stock: 300, + }, + { + yieldClass: 5, + age: 100, + stock: 333, + }, + { + yieldClass: 5, + age: 110, + stock: 361, + }, + { + yieldClass: 5, + age: 120, + stock: 383, + }, + { + yieldClass: 5, + age: 130, + stock: 403, + }, + { + yieldClass: 4, + age: 10, + stock: 0, + }, + { + yieldClass: 4, + age: 20, + stock: 0, + }, + { + yieldClass: 4, + age: 30, + stock: 0, + }, + { + yieldClass: 4, + age: 40, + stock: 0, + }, + { + yieldClass: 4, + age: 50, + stock: 87, + }, + { + yieldClass: 4, + age: 60, + stock: 135, + }, + { + yieldClass: 4, + age: 70, + stock: 176, + }, + { + yieldClass: 4, + age: 80, + stock: 213, + }, + { + yieldClass: 4, + age: 90, + stock: 242, + }, + { + yieldClass: 4, + age: 100, + stock: 270, + }, + { + yieldClass: 3, + age: 10, + stock: 0, + }, + { + yieldClass: 3, + age: 20, + stock: 0, + }, + { + yieldClass: 3, + age: 30, + stock: 0, + }, + { + yieldClass: 3, + age: 40, + stock: 0, + }, + { + yieldClass: 3, + age: 50, + stock: 50, + }, + { + yieldClass: 3, + age: 60, + stock: 93, + }, + { + yieldClass: 3, + age: 70, + stock: 131, + }, + { + yieldClass: 3, + age: 80, + stock: 163, + }, + { + yieldClass: 3, + age: 90, + stock: 190, + }, + { + yieldClass: 3, + age: 100, + stock: 211, + }, + { + yieldClass: 2, + age: 10, + stock: 0, + }, + { + yieldClass: 2, + age: 20, + stock: 0, + }, + { + yieldClass: 2, + age: 30, + stock: 0, + }, + { + yieldClass: 2, + age: 40, + stock: 0, + }, + { + yieldClass: 2, + age: 50, + stock: 12, + }, + { + yieldClass: 2, + age: 60, + stock: 54, + }, + { + yieldClass: 2, + age: 70, + stock: 82, + }, + { + yieldClass: 2, + age: 80, + stock: 106, + }, + { + yieldClass: 2, + age: 90, + stock: 129, + }, + { + yieldClass: 2, + age: 100, + stock: 146, + }, + ], +}; + +export default hu_marschall_eicheUngarn; diff --git a/src/constants/yieldTables/index.ts b/src/constants/yieldTables/index.ts new file mode 100644 index 0000000..9afa21a --- /dev/null +++ b/src/constants/yieldTables/index.ts @@ -0,0 +1,68 @@ +import YieldTable from '@/models/YieldTable'; +import YieldTableEnum from '@/models/YieldTableEnum'; + +import at_tirol_fichteKalkErtragsniveauMittel from './at_tirol_fichteKalkErtragsniveauMittel'; +import at_tirol_fichteSilikatErtragsniveauHoch from './at_tirol_fichteSilikatErtragsniveauHoch'; +import at_tirol_fichteSilikatErtragsniveauMittel from './at_tirol_fichteSilikatErtragsniveauMittel'; +import at_tirol_laercheSuedtirol from './at_tirol_laercheSuedtirol'; +import at_tirol_buche from './at_tirol_buche'; +import at_tirol_kieferSuedtirol from './at_tirol_kieferSuedtirol'; +import at_tirol_zirbe from './at_tirol_zirbe'; + +import at_marschall_fichteBruck from './at_marschall_fichteBruck'; +import at_marschall_fichteHochgebirge from './at_marschall_fichteHochgebirge'; +import at_marschall_kieferLitschau from './at_marschall_kieferLitschau'; + +import ch_marschall_laercheSchweiz from './ch_marschall_laercheSchweiz'; + +import cz_cerny_buche from './cz_cerny_buche'; +import cz_cerny_eiche from './cz_cerny_eiche'; +import cz_cerny_fichte from './cz_cerny_fichte'; +import cz_cerny_kiefer from './cz_cerny_kiefer'; + +import de_lockow_birkeNordOst from './de_lockow_birkeNordOst'; +import de_marschall_bucheBraunschweig from './de_marschall_bucheBraunschweig'; +import de_marschall_douglasieBadenWuerttemberg from './de_marschall_douglasieBadenWuerttemberg'; +import de_marschall_fichteBayern from './de_marschall_fichteBayern'; +import de_marschall_tanneWuerttemberg from './de_marschall_tanneWuerttemberg'; + +import hu_marschall_eicheUngarn from './hu_marschall_eicheUngarn'; + +const yieldTables: Record = { + // AT Tirol + at_tirol_buche, + at_tirol_fichteKalkErtragsniveauMittel, + at_tirol_fichteSilikatErtragsniveauHoch, + at_tirol_fichteSilikatErtragsniveauMittel, + at_tirol_kieferSuedtirol, + at_tirol_laercheSuedtirol, + at_tirol_zirbe, + + // AT Marschall + at_marschall_fichteBruck, + at_marschall_fichteHochgebirge, + at_marschall_kieferLitschau, + + // CH Marschall + ch_marschall_laercheSchweiz, + + // CZ Cerny + cz_cerny_buche, + cz_cerny_eiche, + cz_cerny_fichte, + cz_cerny_kiefer, + + // DE Andere + de_lockow_birkeNordOst, + + // DE Marschall + de_marschall_bucheBraunschweig, + de_marschall_douglasieBadenWuerttemberg, + de_marschall_fichteBayern, + de_marschall_tanneWuerttemberg, + + // HU Marschall + hu_marschall_eicheUngarn, +}; + +export default yieldTables; diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..ab7407f --- /dev/null +++ b/src/index.ts @@ -0,0 +1,12 @@ +import rootMessagesDe from './rootMessages.de'; +import rootMessagesEn from './rootMessages.en'; + +export * from '@/components/CalculateCurrentStock'; +export * from '@/components/Forestry'; +export * from '@/components/OperationClass'; +export * from '@/components/OperationClasses'; + +export const messages = { + de: rootMessagesDe, + en: rootMessagesEn, +}; diff --git a/src/index.tsx b/src/index.tsx deleted file mode 100644 index 70635ad..0000000 --- a/src/index.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import * as React from 'react'; - -// Delete me -export const Thing = () => { - return
Welcome to your first test package.
; -}; diff --git a/src/models/AreaInHectare.ts b/src/models/AreaInHectare.ts new file mode 100644 index 0000000..0542566 --- /dev/null +++ b/src/models/AreaInHectare.ts @@ -0,0 +1,6 @@ +interface AreaInHectare { + /** Area of the species inside the operation class in hectare */ + areaInHectare: number; +} + +export default AreaInHectare; diff --git a/src/models/AreaInPercent.ts b/src/models/AreaInPercent.ts new file mode 100644 index 0000000..bf65327 --- /dev/null +++ b/src/models/AreaInPercent.ts @@ -0,0 +1,6 @@ +interface AreaInPercent { + /** Area of the species inside the operation class in percent */ + areaInPercent: number; +} + +export default AreaInPercent; diff --git a/src/models/FeasibilityStudyConfig.ts b/src/models/FeasibilityStudyConfig.ts new file mode 100644 index 0000000..15c6ec0 --- /dev/null +++ b/src/models/FeasibilityStudyConfig.ts @@ -0,0 +1,43 @@ +import AreaInHectare from './AreaInHectare'; +import AreaInPercent from './AreaInPercent'; +import YieldTableEnum from './YieldTableEnum'; + +interface Species { + /** Free text title of the species */ + title: string; + /** Site productivity (Bonität) of the species */ + siteProductivity: number; + /** Yield table (Ertragstafel) to use for the species */ + yieldTable: YieldTableEnum; +} + +interface SpeciesWithPercentageArea extends Species, AreaInPercent {} + +interface SpeciesWithAreaInHectare extends Species, AreaInHectare {} + +interface FeasibilityStudyConfig { + /** The forestry units of the forestry organization */ + operationClasses: { + name: string; + rotationPeriod: number; + listOfSpecies: SpeciesWithPercentageArea[] | SpeciesWithAreaInHectare[]; + areaInHectare: number; + }[]; + /** Stock of the forestry at a point of time (year) */ + stockAtPointOfTime: { + year: number; + stock: number; + }; + /** The year that we want to calculate the stock for */ + currentYear: number; + /** The yearly increment of the wood stock of the forestry */ + yearlyIncrement: number; + /** The harvesting amounts per year and per coniferous- and deciduous-wood */ + harvestingAmounts?: { + year: number; + coniferousWood: number; + deciduousWood: number; + }[]; +} + +export default FeasibilityStudyConfig; diff --git a/src/models/YieldTable.ts b/src/models/YieldTable.ts new file mode 100644 index 0000000..9d8452e --- /dev/null +++ b/src/models/YieldTable.ts @@ -0,0 +1,18 @@ +export type YieldTableRow = { + yieldClass: number; + age: number; + stock: number; +}; + +type YieldTable = { + meta: { + title: string; + author: string; + copyright: string; + source: string; + sourceLink: string; + }; + rows: YieldTableRow[]; +}; + +export default YieldTable; diff --git a/src/models/YieldTableEnum.ts b/src/models/YieldTableEnum.ts new file mode 100644 index 0000000..ddd403e --- /dev/null +++ b/src/models/YieldTableEnum.ts @@ -0,0 +1,40 @@ +// Naming scheme: __; + +enum YieldTableEnum { + // AT Tirol + AT_TIROL_Buche = 'at_tirol_buche', + AT_TIROL_LaercheSuedtirol = 'at_tirol_laercheSuedtirol', + AT_TIROL_KieferSuedtirol = 'at_tirol_kieferSuedtirol', + AT_TIROL_FichteKalkErtragsniveauMittel = 'at_tirol_fichteKalkErtragsniveauMittel', + AT_TIROL_FichteSilikatErtragsniveauHoch = 'at_tirol_fichteSilikatErtragsniveauHoch', + AT_TIROL_FichteSilikatErtragsniveauMittel = 'at_tirol_fichteSilikatErtragsniveauMittel', + AT_TIROL_Zirbe = 'at_tirol_zirbe', + + // AT Marschall + AT_MARSCHALL_FichteBruck = 'at_marschall_fichteBruck', + AT_MARSCHALL_FichteHochgebirge = 'at_marschall_fichteHochgebirge', + AT_MARSCHALL_KieferLitschau = 'at_marschall_kieferLitschau', + + // CH Marschall + CH_MARSCHALL_LaercheSchweiz = 'ch_marschall_laercheSchweiz', + + // CZ Cerny + CZ_CERNY_Buche = 'cz_cerny_buche', + CZ_CERNY_Eiche = 'cz_cerny_eiche', + CZ_CERNY_Fichte = 'cz_cerny_fichte', + CZ_CERNY_Kiefer = 'cz_cerny_kiefer', + + // DE Andere + DE_LOCKOW_BirkeNordOst = 'de_lockow_birkeNordOst', + + // DE Marschall + DE_MARSCHALL_BucheBraunschweig = 'de_marschall_bucheBraunschweig', + DE_MARSCHALL_DouglasieBadenWuerttemberg = 'de_marschall_douglasieBadenWuerttemberg', + DE_MARSCHALL_FichteBayern = 'de_marschall_fichteBayern', + DE_MARSCHALL_TanneWuerttemberg = 'de_marschall_tanneWuerttemberg', + + //HU Marschall + HU_MARSCHALL_EicheUngarn = 'hu_marschall_eicheUngarn', +} + +export default YieldTableEnum; diff --git a/src/rootMessages.de.ts b/src/rootMessages.de.ts new file mode 100644 index 0000000..2feb1f7 --- /dev/null +++ b/src/rootMessages.de.ts @@ -0,0 +1,16 @@ +import componentsCalculateCurrentStockMessagesDe from '@/components/CalculateCurrentStock/messages.de'; +import componentsForestryMessagesDe from '@/components/Forestry/messages.de'; +import componentsOperationClassMessagesDe from '@/components/OperationClass/messages.de'; + +const rootMessagesDe = { + ...componentsCalculateCurrentStockMessagesDe, + ...componentsForestryMessagesDe, + ...componentsOperationClassMessagesDe, + + // Units + 'units.ha': '{value} ha', + 'units.vfmPerHa': '{value} Vfm/ha', + 'units.vfmPerHaYear': '{value} Vfm/ha/Jahr', +}; + +export default rootMessagesDe; diff --git a/src/rootMessages.en.ts b/src/rootMessages.en.ts new file mode 100644 index 0000000..f1aa5c8 --- /dev/null +++ b/src/rootMessages.en.ts @@ -0,0 +1,16 @@ +import componentsCalculateCurrentStockMessagesEn from '@/components/CalculateCurrentStock/messages.en'; +import componentsForestryMessagesEn from '@/components/Forestry/messages.en'; +import componentsOperationClassMessagesEn from '@/components/OperationClass/messages.en'; + +const rootMessagesEn = { + ...componentsCalculateCurrentStockMessagesEn, + ...componentsForestryMessagesEn, + ...componentsOperationClassMessagesEn, + + // Units + 'units.ha': '{value} ha', + 'units.vfmPerHa': '{value} Vfm/ha', + 'units.vfmPerHaYear': '{value} Vfm/ha/y', +}; + +export default rootMessagesEn; diff --git a/src/test/mocks/feasibilityStudyConfig.ts b/src/test/mocks/feasibilityStudyConfig.ts new file mode 100644 index 0000000..acf4ad7 --- /dev/null +++ b/src/test/mocks/feasibilityStudyConfig.ts @@ -0,0 +1,784 @@ +import FeasibilityStudyConfig from '@/models/FeasibilityStudyConfig'; +import YieldTableEnum from '@/models/YieldTableEnum'; + +export const feasibilityStudyConfigMock: FeasibilityStudyConfig = { + currentYear: 2022, + stockAtPointOfTime: { year: 2012, stock: 184 }, + yearlyIncrement: 3.6, + harvestingAmounts: [ + { + year: 2012, + coniferousWood: 11778, + deciduousWood: 0, + }, + { + year: 2013, + coniferousWood: 15531, + deciduousWood: 10, + }, + { + year: 2014, + coniferousWood: 13550, + deciduousWood: 0, + }, + { + year: 2015, + coniferousWood: 18876, + deciduousWood: 2, + }, + { + year: 2016, + coniferousWood: 15716, + deciduousWood: 0, + }, + { + year: 2017, + coniferousWood: 15690, + deciduousWood: 0, + }, + { + year: 2018, + coniferousWood: 17735, + deciduousWood: 20, + }, + { + year: 2019, + coniferousWood: 12267, + deciduousWood: 0, + }, + { + year: 2020, + coniferousWood: 11695, + deciduousWood: 0, + }, + { + year: 2021, + coniferousWood: 10485, + deciduousWood: 0, + }, + ], + operationClasses: [ + { + name: 'WP, Wa1, BKL A', + rotationPeriod: 100, + areaInHectare: 905.953, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.8386, + siteProductivity: 7.3, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.112, + siteProductivity: 6.5, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Tanne', + areaInPercent: 0.0142, + siteProductivity: 6.2, + yieldTable: YieldTableEnum.DE_MARSCHALL_TanneWuerttemberg, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.034, + siteProductivity: 3.7, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Birke', + areaInPercent: 0.0009, + siteProductivity: 3.2, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0004, + siteProductivity: 4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'WP, Wa1, BKL C', + rotationPeriod: 120, + areaInHectare: 163.807, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.8696, + siteProductivity: 4.4, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.0632, + siteProductivity: 4.1, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Tanne', + areaInPercent: 0.03, + siteProductivity: 6, // Should be 4.9 but is not in the yield table + yieldTable: YieldTableEnum.DE_MARSCHALL_TanneWuerttemberg, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0232, + siteProductivity: 3.2, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.014, + siteProductivity: 3, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'WP, Wa2, BKL A', + rotationPeriod: 100, + areaInHectare: 678.629, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.8153, + siteProductivity: 6.6, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.1331, + siteProductivity: 5.7, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Tanne', + areaInPercent: 0.0006, + siteProductivity: 6, // Should be 5 but is not in the yield table + yieldTable: YieldTableEnum.DE_MARSCHALL_TanneWuerttemberg, + }, + { + title: 'Kiefer', + areaInPercent: 0.0016, + siteProductivity: 4.8, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0378, + siteProductivity: 3.7, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0046, + siteProductivity: 4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Birke', + areaInPercent: 0.007, + siteProductivity: 3.9, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'WP, Wa2, BKL C', + rotationPeriod: 120, + areaInHectare: 170.493, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.8371, + siteProductivity: 4.2, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.0654, + siteProductivity: 4.5, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0731, + siteProductivity: 3.9, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Birke', + areaInPercent: 0.0092, + siteProductivity: 4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0151, + siteProductivity: 4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'WP, Pe, BKL A', + rotationPeriod: 100, + areaInHectare: 581.682, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.9049, + siteProductivity: 6.9, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.0677, + siteProductivity: 5.8, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Tanne', + areaInPercent: 0.0061, + siteProductivity: 7.3, + yieldTable: YieldTableEnum.DE_MARSCHALL_TanneWuerttemberg, + }, + { + title: 'Buche', + areaInPercent: 0.0016, + siteProductivity: 5, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0195, + siteProductivity: 3.8, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0002, + siteProductivity: 4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'WP, Pe, BKL C', + rotationPeriod: 120, + areaInHectare: 153.778, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.9491, + siteProductivity: 3.3, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.0353, + siteProductivity: 3.5, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Tanne', + areaInPercent: 0.0117, + siteProductivity: 6, // Should be 5.1 but is not in the yield table + yieldTable: YieldTableEnum.DE_MARSCHALL_TanneWuerttemberg, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0028, + siteProductivity: 3, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0011, + siteProductivity: 3, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'SS, BKL A', + rotationPeriod: 100, + areaInHectare: 203.923, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.8559, + siteProductivity: 9.1, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.0958, + siteProductivity: 8.1, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Zirbe', + areaInPercent: 0.0015, + siteProductivity: 6.2, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0185, + siteProductivity: 4.7, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Birke', + areaInPercent: 0.024, + siteProductivity: 5.4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0043, + siteProductivity: 4.4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'SS, BKL B', + rotationPeriod: 80, + areaInHectare: 33.43, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.9963, + siteProductivity: 9.3, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0037, + siteProductivity: 5, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'SS, BKL C', + rotationPeriod: 120, + areaInHectare: 451.305, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.7678, + siteProductivity: 7.6, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.1694, + siteProductivity: 6.2, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Tanne', + areaInPercent: 0.0023, + siteProductivity: 6.3, + yieldTable: YieldTableEnum.DE_MARSCHALL_TanneWuerttemberg, + }, + { + title: 'Buche', + areaInPercent: 0.0023, + siteProductivity: 3.4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0263, + siteProductivity: 4.5, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Birke', + areaInPercent: 0.0274, + siteProductivity: 4.1, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0045, + siteProductivity: 5.2, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + ], +}; + +export const feasibilityStudyNoHarvestingAmountsConfigMock: FeasibilityStudyConfig = { + currentYear: 2022, + stockAtPointOfTime: { year: 2022, stock: 184 }, + yearlyIncrement: 3.6, + operationClasses: [ + { + name: 'WP, Wa1, BKL A', + rotationPeriod: 100, + areaInHectare: 905.953, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.8386, + siteProductivity: 7.3, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.112, + siteProductivity: 6.5, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Tanne', + areaInPercent: 0.0142, + siteProductivity: 6.2, + yieldTable: YieldTableEnum.DE_MARSCHALL_TanneWuerttemberg, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.034, + siteProductivity: 3.7, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Birke', + areaInPercent: 0.0009, + siteProductivity: 3.2, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0004, + siteProductivity: 4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'WP, Wa1, BKL C', + rotationPeriod: 120, + areaInHectare: 163.807, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.8696, + siteProductivity: 4.4, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.0632, + siteProductivity: 4.1, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Tanne', + areaInPercent: 0.03, + siteProductivity: 6, // Should be 4.9 but is not in the yield table + yieldTable: YieldTableEnum.DE_MARSCHALL_TanneWuerttemberg, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0232, + siteProductivity: 3.2, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.014, + siteProductivity: 3, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'WP, Wa2, BKL A', + rotationPeriod: 100, + areaInHectare: 678.629, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.8153, + siteProductivity: 6.6, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.1331, + siteProductivity: 5.7, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Tanne', + areaInPercent: 0.0006, + siteProductivity: 6, // Should be 5 but is not in the yield table + yieldTable: YieldTableEnum.DE_MARSCHALL_TanneWuerttemberg, + }, + { + title: 'Kiefer', + areaInPercent: 0.0016, + siteProductivity: 4.8, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0378, + siteProductivity: 3.7, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0046, + siteProductivity: 4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Birke', + areaInPercent: 0.007, + siteProductivity: 3.9, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'WP, Wa2, BKL C', + rotationPeriod: 120, + areaInHectare: 170.493, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.8371, + siteProductivity: 4.2, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.0654, + siteProductivity: 4.5, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0731, + siteProductivity: 3.9, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Birke', + areaInPercent: 0.0092, + siteProductivity: 4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0151, + siteProductivity: 4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'WP, Pe, BKL A', + rotationPeriod: 100, + areaInHectare: 581.682, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.9049, + siteProductivity: 6.9, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.0677, + siteProductivity: 5.8, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Tanne', + areaInPercent: 0.0061, + siteProductivity: 7.3, + yieldTable: YieldTableEnum.DE_MARSCHALL_TanneWuerttemberg, + }, + { + title: 'Buche', + areaInPercent: 0.0016, + siteProductivity: 5, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0195, + siteProductivity: 3.8, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0002, + siteProductivity: 4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'WP, Pe, BKL C', + rotationPeriod: 120, + areaInHectare: 153.778, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.9491, + siteProductivity: 3.3, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.0353, + siteProductivity: 3.5, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Tanne', + areaInPercent: 0.0117, + siteProductivity: 6, // Should be 5.1 but is not in the yield table + yieldTable: YieldTableEnum.DE_MARSCHALL_TanneWuerttemberg, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0028, + siteProductivity: 3, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0011, + siteProductivity: 3, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'SS, BKL A', + rotationPeriod: 100, + areaInHectare: 203.923, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.8559, + siteProductivity: 9.1, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.0958, + siteProductivity: 8.1, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Zirbe', + areaInPercent: 0.0015, + siteProductivity: 6.2, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0185, + siteProductivity: 4.7, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Birke', + areaInPercent: 0.024, + siteProductivity: 5.4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0043, + siteProductivity: 4.4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'SS, BKL B', + rotationPeriod: 80, + areaInHectare: 33.43, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.9963, + siteProductivity: 9.3, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0037, + siteProductivity: 5, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + { + name: 'SS, BKL C', + rotationPeriod: 120, + areaInHectare: 451.305, + listOfSpecies: [ + { + title: 'Fichte', + areaInPercent: 0.7678, + siteProductivity: 7.6, + yieldTable: YieldTableEnum.AT_MARSCHALL_FichteHochgebirge, + }, + { + title: 'Lärche', + areaInPercent: 0.1694, + siteProductivity: 6.2, + yieldTable: YieldTableEnum.CH_MARSCHALL_LaercheSchweiz, + }, + { + title: 'Tanne', + areaInPercent: 0.0023, + siteProductivity: 6.3, + yieldTable: YieldTableEnum.DE_MARSCHALL_TanneWuerttemberg, + }, + { + title: 'Buche', + areaInPercent: 0.0023, + siteProductivity: 3.4, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'son. Laubholz (sLb)', + areaInPercent: 0.0263, + siteProductivity: 4.5, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Birke', + areaInPercent: 0.0274, + siteProductivity: 4.1, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + { + title: 'Bergahorn', + areaInPercent: 0.0045, + siteProductivity: 5.2, + yieldTable: YieldTableEnum.DE_MARSCHALL_BucheBraunschweig, + }, + ], + }, + ], +}; diff --git a/src/test/setupTests.ts b/src/test/setupTests.ts new file mode 100644 index 0000000..7b0828b --- /dev/null +++ b/src/test/setupTests.ts @@ -0,0 +1 @@ +import '@testing-library/jest-dom'; diff --git a/src/test/test-utils.tsx b/src/test/test-utils.tsx new file mode 100644 index 0000000..07a2576 --- /dev/null +++ b/src/test/test-utils.tsx @@ -0,0 +1,24 @@ +import React, { ReactElement } from 'react'; +import { RenderOptions, render } from '@testing-library/react'; +import { BoemlyThemeProvider } from 'boemly'; +import { IntlProvider } from 'react-intl'; +import rootMessagesEn from '../rootMessages.en'; + +const AllTheProviders = ({ children }: { children: React.ReactNode }) => { + return ( + + + {children} + + + ); +}; + +const customRender = (ui: ReactElement, options?: Omit) => + render(ui, { wrapper: AllTheProviders, ...options }); + +// re-export everything +export * from '@testing-library/react'; + +// override render method +export { customRender as render }; diff --git a/src/utils/getAreaInPercent.test.ts b/src/utils/getAreaInPercent.test.ts new file mode 100644 index 0000000..bc081df --- /dev/null +++ b/src/utils/getAreaInPercent.test.ts @@ -0,0 +1,24 @@ +import getAreaInPercent from './getAreaInPercent'; + +describe('The getAreaInPercent forest util', () => { + it('should return an empty array if the input is an empty array', () => { + const result = getAreaInPercent([]); + + expect(result).toEqual([]); + }); + + it('should return the input if the input is an array of AreaInPercent', () => { + const result = getAreaInPercent([{ areaInPercent: 0.5 }]); + + expect(result).toEqual([{ areaInPercent: 0.5 }]); + }); + + it('should calculate the area in percent if the input is an array of AreaInHectare', () => { + const result = getAreaInPercent([{ areaInHectare: 20 }, { areaInHectare: 80 }]); + + expect(result).toEqual([ + { areaInHectare: 20, areaInPercent: 0.2 }, + { areaInHectare: 80, areaInPercent: 0.8 }, + ]); + }); +}); diff --git a/src/utils/getAreaInPercent.ts b/src/utils/getAreaInPercent.ts new file mode 100644 index 0000000..895684f --- /dev/null +++ b/src/utils/getAreaInPercent.ts @@ -0,0 +1,25 @@ +import AreaInHectare from '@/models/AreaInHectare'; +import AreaInPercent from '@/models/AreaInPercent'; + +const getAreaInPercent = (list: AreaInPercent[] | AreaInHectare[]): AreaInPercent[] => { + if (list.length === 0) { + return []; + } + + if (list[0].hasOwnProperty('areaInPercent')) { + return list as AreaInPercent[]; + } + + const listOfSpeciesWithAreaInHectare = list as AreaInHectare[]; + const totalArea = listOfSpeciesWithAreaInHectare.reduce( + (acc, species) => acc + species.areaInHectare, + 0 + ); + + return listOfSpeciesWithAreaInHectare.map((species) => ({ + ...species, + areaInPercent: species.areaInHectare / totalArea, + })); +}; + +export default getAreaInPercent; diff --git a/src/utils/getNormalStock.test.ts b/src/utils/getNormalStock.test.ts new file mode 100644 index 0000000..eddde69 --- /dev/null +++ b/src/utils/getNormalStock.test.ts @@ -0,0 +1,56 @@ +import yieldTables from '@/constants/yieldTables'; +import getNormalStock from './getNormalStock'; + +describe('The getNormalStock forest util', () => { + it('should return the normal stock for a yield class', () => { + const yieldClass = 7.1; + const rotationPeriod = 130; + const expected = '278'; + + const actual = getNormalStock( + yieldTables['at_tirol_fichteKalkErtragsniveauMittel'], + yieldClass, + rotationPeriod + ); + + expect(actual.toFixed(0)).toEqual(expected); + }); + + it('should return the normal stock for a yield class', () => { + const yieldClass = 5.4; + const rotationPeriod = 130; + const expected = '212'; + + const actual = getNormalStock( + yieldTables['at_tirol_laercheSuedtirol'], + yieldClass, + rotationPeriod + ); + + expect(actual.toFixed(0)).toEqual(expected); + }); + + it('should return the normal stock for a yield class', () => { + const yieldClass = 7; + const rotationPeriod = 130; + const expected = '286'; + + const actual = getNormalStock(yieldTables['at_tirol_buche'], yieldClass, rotationPeriod); + + expect(actual.toFixed(0)).toEqual(expected); + }); + + it('throws an error if no age level is found in the given yield table for the given rotation period', () => { + const yieldClass = 7.1; + const rotationPeriod = 135; + + const f = () => + getNormalStock( + yieldTables['at_tirol_fichteKalkErtragsniveauMittel'], + yieldClass, + rotationPeriod + ); + + expect(f).toThrow('No age level found in given yield table for the given rotation period 135'); + }); +}); diff --git a/src/utils/getNormalStock.ts b/src/utils/getNormalStock.ts new file mode 100644 index 0000000..d7cde9e --- /dev/null +++ b/src/utils/getNormalStock.ts @@ -0,0 +1,59 @@ +import YieldTable, { YieldTableRow } from '@/models/YieldTable'; +import getYieldClasses from './getYieldClasses'; + +const getNormalStock = ( + yieldTable: YieldTable, + siteProductivity: number, + rotationPeriod: number +): number => { + // Check if the given rotation period is a valid age level in the given yield table + if ( + !yieldTable.rows.some((yieldTableRow: YieldTableRow) => yieldTableRow.age === rotationPeriod) + ) { + throw new Error( + `No age level found in given yield table for the given rotation period ${rotationPeriod}` + ); + } + + // Get the yield classes via the `getYieldClasses` util (The util returns one or two yield classes) + const yieldClasses: number[] = getYieldClasses(yieldTable, siteProductivity); + + // Define the age gap + const ageGap: number = 10; // TODO: get dynamically from yield table via a new forest util + + // Get the yield table rows for the relevant yield classes and relevant age levels + const yieldTableRowsForRelevantYieldClassesAndAgeLevels: YieldTableRow[][] = yieldClasses.map( + (yieldClass) => + yieldTable.rows.filter( + (yieldTableRow: YieldTableRow) => + yieldTableRow.yieldClass === yieldClass && yieldTableRow.age <= rotationPeriod + ) + ); + + // Calculate the normal stock per yield class + const normalStockPerAgeLevel: number[] = yieldTableRowsForRelevantYieldClassesAndAgeLevels.map( + (yieldTableRows) => { + const sumOfStocks = yieldTableRows.reduce((acc, { stock }, currentIndex) => { + if (currentIndex === yieldTableRows.length - 1) { + return acc + stock / 2; + } + return acc + stock; + }, 0); + + return (ageGap / rotationPeriod) * sumOfStocks; + } + ); + + if (yieldClasses.length === 1) { + return normalStockPerAgeLevel[0]; + } + + // Interpolate the two neighboring yield classes with the given yield class + return ( + (normalStockPerAgeLevel[1] - normalStockPerAgeLevel[0]) * + ((siteProductivity - yieldClasses[0]) / (yieldClasses[1] - yieldClasses[0])) + + normalStockPerAgeLevel[0] + ); +}; + +export default getNormalStock; diff --git a/src/utils/getYieldClasses.test.ts b/src/utils/getYieldClasses.test.ts new file mode 100644 index 0000000..4b3006b --- /dev/null +++ b/src/utils/getYieldClasses.test.ts @@ -0,0 +1,65 @@ +import yieldTables from '@/constants/yieldTables'; +import getYieldClasses from './getYieldClasses'; + +describe('The getYieldClasses forest util', () => { + it('should return the yield class when the yield class exactly matches a yield class', () => { + const yieldClass = 7; + const expected = [7]; + + const actual = getYieldClasses( + yieldTables['at_tirol_fichteKalkErtragsniveauMittel'], + yieldClass + ); + + expect(actual).toEqual(expected); + }); + + it('should return the yield classes when the yield class is between two yield class', () => { + const yieldClass = 7.1; + const expected = [7, 8]; + + const actual = getYieldClasses( + yieldTables['at_tirol_fichteKalkErtragsniveauMittel'], + yieldClass + ); + + expect(actual).toEqual(expected); + }); + + it('should return the yield classes when the rows in the yield table are not sorted by yield class', () => { + const yieldClass = 7.1; + const expected = [7, 8]; + + const actual = getYieldClasses( + { + ...yieldTables['at_tirol_fichteKalkErtragsniveauMittel'], + rows: yieldTables['at_tirol_fichteKalkErtragsniveauMittel'].rows.reverse(), + }, + yieldClass + ); + + expect(actual).toEqual(expected); + }); + + it('should throw an error if the yield class is lower then the lowest yield class', () => { + const yieldClass = 0; + + const f = () => + getYieldClasses(yieldTables['at_tirol_fichteKalkErtragsniveauMittel'], yieldClass); + + expect(f).toThrow( + 'The yield class is lower than the lowest yield class on the yield board. Site productivity: 0' + ); + }); + + it('should throw an error if the yield class is higher then the highest yield class', () => { + const yieldClass = 100; + + const f = () => + getYieldClasses(yieldTables['at_tirol_fichteKalkErtragsniveauMittel'], yieldClass); + + expect(f).toThrow( + 'The yield class is higher than the highest yield class on the yield board. Site productivity: 100' + ); + }); +}); diff --git a/src/utils/getYieldClasses.ts b/src/utils/getYieldClasses.ts new file mode 100644 index 0000000..688e6c2 --- /dev/null +++ b/src/utils/getYieldClasses.ts @@ -0,0 +1,47 @@ +import YieldTable, { YieldTableRow } from '@/models/YieldTable'; + +const findLast = (arr: YieldTableRow[], fn: (yieldTableEntry: any) => boolean) => + arr.filter(fn).pop(); + +const getYieldClasses = ( + yieldTable: YieldTable, + siteProductivity: number +): [number, number] | [number] => { + const exactMatchYieldClass = yieldTable.rows.find( + (yieldTableEntry) => yieldTableEntry.yieldClass === siteProductivity + ); + + // 1st case where the yield class exactly matches a age level + if (exactMatchYieldClass) { + return [siteProductivity]; + } + + const yieldTableRowsSortedByYieldClass = yieldTable.rows.sort( + (yieldTableRowA: YieldTableRow, yieldTableRowB: YieldTableRow) => + yieldTableRowA.yieldClass - yieldTableRowB.yieldClass + ); + + // 2nd case where the yield class is between two age levels + const lowerYieldClass = findLast( + yieldTableRowsSortedByYieldClass, + (yieldTableEntry) => yieldTableEntry.yieldClass < siteProductivity + ); + const upperYieldClass = yieldTableRowsSortedByYieldClass.find( + (yieldTableEntry) => yieldTableEntry.yieldClass > siteProductivity + ); + + if (!lowerYieldClass) { + throw new Error( + `The yield class is lower than the lowest yield class on the yield board. Site productivity: ${siteProductivity}` + ); + } + if (!upperYieldClass) { + throw new Error( + `The yield class is higher than the highest yield class on the yield board. Site productivity: ${siteProductivity}` + ); + } + + return [lowerYieldClass.yieldClass, upperYieldClass.yieldClass]; +}; + +export default getYieldClasses; diff --git a/test/index.test.tsx b/test/index.test.tsx deleted file mode 100644 index cbead25..0000000 --- a/test/index.test.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; -import { Thing } from '../src/index'; - -describe('Thing', () => { - it('renders without crashing', () => { - const div = document.createElement('div'); - ReactDOM.render(, div); - ReactDOM.unmountComponentAtNode(div); - }); -}); diff --git a/tsconfig.json b/tsconfig.json index 233880f..c2aeffe 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,11 @@ { // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs "extends": "@tsconfig/vite-react/tsconfig.json", - "include": ["src", "types"] + "include": ["src"], + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } } From 836022273977bc796e9cfa18f434749825c070f7 Mon Sep 17 00:00:00 2001 From: Raul Steurer Date: Mon, 18 Sep 2023 13:33:22 +0200 Subject: [PATCH 2/8] chore: Working build and import --- dts.config.js | 22 +++++++++++++ package-lock.json | 78 ++++++++++++++++++++++++++++++----------------- package.json | 3 +- 3 files changed, 74 insertions(+), 29 deletions(-) create mode 100644 dts.config.js diff --git a/dts.config.js b/dts.config.js new file mode 100644 index 0000000..cbcc7b5 --- /dev/null +++ b/dts.config.js @@ -0,0 +1,22 @@ +const alias = require('@rollup/plugin-alias'); + +/** + * @type {import('dts-cli').DtsConfig} + */ +module.exports = { + rollup(config, options) { + // Replace "@/" with "src/" as the root directory + config.plugins.push({ + plugins: [ + alias({ + entries: [{ find: /@\//, replacement: /src\// }], + }), + ], + }); + // Do not treat absolute paths as external modules + return { + ...config, + external: (id) => !id.startsWith('@') && config.external(id), + }; + }, +}; diff --git a/package-lock.json b/package-lock.json index 00dd39d..fdd7aa4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,19 @@ { - "name": "forest-management", + "name": "@treely/forest-management", "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "forest-management", + "name": "@treely/forest-management", "version": "0.1.0", "license": "MIT", "dependencies": { - "boemly": "^5.2.0" + "boemly": "^5.2.0", + "react-intl": "^6.4.0" }, "devDependencies": { + "@rollup/plugin-alias": "^5.0.0", "@size-limit/preset-small-lib": "^9.0.0", "@testing-library/jest-dom": "^6.1.3", "@testing-library/react": "^14.0.0", @@ -31,8 +33,7 @@ "node": ">=12" }, "peerDependencies": { - "react": ">=16", - "react-intl": ">=5" + "react": ">=16" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -3227,7 +3228,6 @@ "version": "1.17.2", "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.2.tgz", "integrity": "sha512-k2mTh0m+IV1HRdU0xXM617tSQTi53tVR2muvYOsBeYcUgEAyxV1FOC7Qj279th3fBVQ+Dj6muvNJZcHSPNdbKg==", - "peer": true, "dependencies": { "@formatjs/intl-localematcher": "0.4.2", "tslib": "^2.4.0" @@ -3237,7 +3237,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", - "peer": true, "dependencies": { "tslib": "^2.4.0" } @@ -3246,7 +3245,6 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.2.tgz", "integrity": "sha512-nF/Iww7sc5h+1MBCDRm68qpHTCG4xvGzYs/x9HFcDETSGScaJ1Fcadk5U/NXjXeCtzD+DhN4BAwKFVclHfKMdA==", - "peer": true, "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/icu-skeleton-parser": "1.6.2", @@ -3257,24 +3255,22 @@ "version": "1.6.2", "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.2.tgz", "integrity": "sha512-VtB9Slo4ZL6QgtDFJ8Injvscf0xiDd4bIV93SOJTBjUF4xe2nAWOoSjLEtqIG+hlIs1sNrVKAaFo3nuTI4r5ZA==", - "peer": true, "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "tslib": "^2.4.0" } }, "node_modules/@formatjs/intl": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.9.2.tgz", - "integrity": "sha512-brettBil92sd8i4dHEc6by8mqp4NbRvR2A94dZK9pQuSghkoqn2TIvwuaetmMNsBXexv7hYsehNQPi1qqkdPig==", - "peer": true, + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.9.3.tgz", + "integrity": "sha512-hclPdyCF1zk2XmhgdXfl5Sd30QEdRBnIijH7Vc1AWz2K0/saVRrxuL3UYn+m3xEyfOa4yDbTWVbmXDL0XEzlsQ==", "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/fast-memoize": "2.2.0", "@formatjs/icu-messageformat-parser": "2.6.2", "@formatjs/intl-displaynames": "6.5.2", "@formatjs/intl-listformat": "7.4.2", - "intl-messageformat": "10.5.2", + "intl-messageformat": "10.5.3", "tslib": "^2.4.0" }, "peerDependencies": { @@ -3290,7 +3286,6 @@ "version": "6.5.2", "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.5.2.tgz", "integrity": "sha512-uC2VBlz+WydGTDDpJwMTQuPH3CUpTricr91WH1QMfz5oEHg2sB7mUERcZONE/lu8MOe1jREIx4vBciZEVTqkmA==", - "peer": true, "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/intl-localematcher": "0.4.2", @@ -3301,7 +3296,6 @@ "version": "7.4.2", "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.4.2.tgz", "integrity": "sha512-+6bSVudEQkf12Hh7kuKt8Xv/MyFlqdwA4V4NLnTZW8uYdF9RxlOELDD0rPaOc2++TMKIzI5o6XXwHPvpL6VrPA==", - "peer": true, "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/intl-localematcher": "0.4.2", @@ -3312,7 +3306,6 @@ "version": "0.4.2", "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.2.tgz", "integrity": "sha512-BGdtJFmaNJy5An/Zan4OId/yR9Ih1OojFjcduX/xOvq798OgWSyDtd6Qd5jqJXwJs1ipe4Fxu9+cshic5Ox2tA==", - "peer": true, "dependencies": { "tslib": "^2.4.0" } @@ -3863,6 +3856,38 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@rollup/plugin-alias": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-5.0.0.tgz", + "integrity": "sha512-l9hY5chSCjuFRPsnRm16twWBiSApl2uYFLsepQYwtBuAxNMQ/1dJqADld40P0Jkqm65GRTLy/AC6hnpVebtLsA==", + "dev": true, + "dependencies": { + "slash": "^4.0.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-alias/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/@rollup/plugin-babel": { "version": "6.0.3", "dev": true, @@ -4394,7 +4419,6 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-YIQtIg4PKr7ZyqNPZObpxfHsHEmuB8dXCxd6qVcGuQVDK2bpsF7bYNnBJ4Nn7giuACZg+WewExgrtAJ3XnA4Xw==", - "peer": true, "dependencies": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" @@ -8023,10 +8047,9 @@ } }, "node_modules/intl-messageformat": { - "version": "10.5.2", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.2.tgz", - "integrity": "sha512-X4rlUNbgCc8/RdMhmvUEEZ38yNDn5S4r0u8n8yQH2OOdhsR46SmOuQsCKG35nRXmL5u2nxPsNN6qNhHoMm6FMQ==", - "peer": true, + "version": "10.5.3", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.3.tgz", + "integrity": "sha512-TzKn1uhJBMyuKTO4zUX47SU+d66fu1W9tVzIiZrQ6hBqQQeYscBMIzKL/qEXnFbJrH9uU5VV3+T5fWib4SIcKA==", "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/fast-memoize": "2.2.0", @@ -10717,20 +10740,19 @@ } }, "node_modules/react-intl": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.6.tgz", - "integrity": "sha512-8FiQ1GO6vm0wuO4B7yls9wIbINIo6ZH91geuwyR0VtwfhPc9+ONXKVfzwzkr/GZnwKW93nmH43MS+NSkmttIaA==", - "peer": true, + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.7.tgz", + "integrity": "sha512-0hnOHAZhxTFqD1hGTxrF40qNyZJPPYiGhWIIxIz0Udz+3e3c7sdN80qlxArR+AbJ+jb5ALXZkJYH20+GPFCM0Q==", "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/icu-messageformat-parser": "2.6.2", - "@formatjs/intl": "2.9.2", + "@formatjs/intl": "2.9.3", "@formatjs/intl-displaynames": "6.5.2", "@formatjs/intl-listformat": "7.4.2", "@types/hoist-non-react-statics": "^3.3.1", "@types/react": "16 || 17 || 18", "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "10.5.2", + "intl-messageformat": "10.5.3", "tslib": "^2.4.0" }, "peerDependencies": { diff --git a/package.json b/package.json index 493b2cc..f06b127 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ } ], "devDependencies": { + "@rollup/plugin-alias": "^5.0.0", "@size-limit/preset-small-lib": "^9.0.0", "@testing-library/jest-dom": "^6.1.3", "@testing-library/react": "^14.0.0", @@ -77,6 +78,6 @@ }, "peerDependencies": { "react": ">=16", - "react-intl": ">=5" + "react-intl": ">=6" } } From df987a34a2fac43242e5009b45a0269c88b930f1 Mon Sep 17 00:00:00 2001 From: Raul Steurer Date: Mon, 18 Sep 2023 13:53:09 +0200 Subject: [PATCH 3/8] feat: Add internationalization --- dts.config.js | 2 +- package-lock.json | 331 +++++++++++++++++- package.json | 3 +- .../CalculateCurrentStock.test.tsx | 1 - .../CalculateCurrentStock.tsx | 78 +++-- .../CalculateCurrentStock/messages.de.ts | 1 + .../CalculateCurrentStock/messages.en.ts | 1 + .../ForestManagementProvider.tsx | 26 ++ .../ForestManagementProvider/index.ts | 1 + src/components/Forestry/Forestry.test.tsx | 1 - src/components/Forestry/Forestry.tsx | 86 +++-- .../OperationClass/OperationClass.test.tsx | 1 - .../OperationClass/OperationClass.tsx | 123 +++---- .../OperationClasses.test.tsx | 1 - .../OperationClasses/OperationClasses.tsx | 1 - src/index.ts | 9 +- src/test/test-utils.tsx | 7 +- tsconfig.json | 3 +- 18 files changed, 498 insertions(+), 178 deletions(-) create mode 100644 src/components/ForestManagementProvider/ForestManagementProvider.tsx create mode 100644 src/components/ForestManagementProvider/index.ts diff --git a/dts.config.js b/dts.config.js index cbcc7b5..330ebc5 100644 --- a/dts.config.js +++ b/dts.config.js @@ -4,7 +4,7 @@ const alias = require('@rollup/plugin-alias'); * @type {import('dts-cli').DtsConfig} */ module.exports = { - rollup(config, options) { + rollup(config) { // Replace "@/" with "src/" as the root directory config.plugins.push({ plugins: [ diff --git a/package-lock.json b/package-lock.json index fdd7aa4..15438b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,7 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "boemly": "^5.2.0", - "react-intl": "^6.4.0" + "boemly": "^5.2.0" }, "devDependencies": { "@rollup/plugin-alias": "^5.0.0", @@ -33,7 +32,9 @@ "node": ">=12" }, "peerDependencies": { - "react": ">=16" + "next": ">=11", + "react": ">=16", + "react-intl": ">=6" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -3228,6 +3229,7 @@ "version": "1.17.2", "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.2.tgz", "integrity": "sha512-k2mTh0m+IV1HRdU0xXM617tSQTi53tVR2muvYOsBeYcUgEAyxV1FOC7Qj279th3fBVQ+Dj6muvNJZcHSPNdbKg==", + "peer": true, "dependencies": { "@formatjs/intl-localematcher": "0.4.2", "tslib": "^2.4.0" @@ -3237,6 +3239,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", + "peer": true, "dependencies": { "tslib": "^2.4.0" } @@ -3245,6 +3248,7 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.2.tgz", "integrity": "sha512-nF/Iww7sc5h+1MBCDRm68qpHTCG4xvGzYs/x9HFcDETSGScaJ1Fcadk5U/NXjXeCtzD+DhN4BAwKFVclHfKMdA==", + "peer": true, "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/icu-skeleton-parser": "1.6.2", @@ -3255,6 +3259,7 @@ "version": "1.6.2", "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.2.tgz", "integrity": "sha512-VtB9Slo4ZL6QgtDFJ8Injvscf0xiDd4bIV93SOJTBjUF4xe2nAWOoSjLEtqIG+hlIs1sNrVKAaFo3nuTI4r5ZA==", + "peer": true, "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "tslib": "^2.4.0" @@ -3264,6 +3269,7 @@ "version": "2.9.3", "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.9.3.tgz", "integrity": "sha512-hclPdyCF1zk2XmhgdXfl5Sd30QEdRBnIijH7Vc1AWz2K0/saVRrxuL3UYn+m3xEyfOa4yDbTWVbmXDL0XEzlsQ==", + "peer": true, "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/fast-memoize": "2.2.0", @@ -3286,6 +3292,7 @@ "version": "6.5.2", "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.5.2.tgz", "integrity": "sha512-uC2VBlz+WydGTDDpJwMTQuPH3CUpTricr91WH1QMfz5oEHg2sB7mUERcZONE/lu8MOe1jREIx4vBciZEVTqkmA==", + "peer": true, "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/intl-localematcher": "0.4.2", @@ -3296,6 +3303,7 @@ "version": "7.4.2", "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.4.2.tgz", "integrity": "sha512-+6bSVudEQkf12Hh7kuKt8Xv/MyFlqdwA4V4NLnTZW8uYdF9RxlOELDD0rPaOc2++TMKIzI5o6XXwHPvpL6VrPA==", + "peer": true, "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/intl-localematcher": "0.4.2", @@ -3306,6 +3314,7 @@ "version": "0.4.2", "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.2.tgz", "integrity": "sha512-BGdtJFmaNJy5An/Zan4OId/yR9Ih1OojFjcduX/xOvq798OgWSyDtd6Qd5jqJXwJs1ipe4Fxu9+cshic5Ox2tA==", + "peer": true, "dependencies": { "tslib": "^2.4.0" } @@ -3815,6 +3824,156 @@ "tslib": "^2.3.1" } }, + "node_modules/@next/env": { + "version": "13.4.19", + "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.19.tgz", + "integrity": "sha512-FsAT5x0jF2kkhNkKkukhsyYOrRqtSxrEhfliniIq0bwWbuXLgyt3Gv0Ml+b91XwjwArmuP7NxCiGd++GGKdNMQ==", + "peer": true + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "13.4.19", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.19.tgz", + "integrity": "sha512-vv1qrjXeGbuF2mOkhkdxMDtv9np7W4mcBtaDnHU+yJG+bBwa6rYsYSCI/9Xm5+TuF5SbZbrWO6G1NfTh1TMjvQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "13.4.19", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.19.tgz", + "integrity": "sha512-jyzO6wwYhx6F+7gD8ddZfuqO4TtpJdw3wyOduR4fxTUCm3aLw7YmHGYNjS0xRSYGAkLpBkH1E0RcelyId6lNsw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "13.4.19", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.19.tgz", + "integrity": "sha512-vdlnIlaAEh6H+G6HrKZB9c2zJKnpPVKnA6LBwjwT2BTjxI7e0Hx30+FoWCgi50e+YO49p6oPOtesP9mXDRiiUg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "13.4.19", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.19.tgz", + "integrity": "sha512-aU0HkH2XPgxqrbNRBFb3si9Ahu/CpaR5RPmN2s9GiM9qJCiBBlZtRTiEca+DC+xRPyCThTtWYgxjWHgU7ZkyvA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "13.4.19", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.19.tgz", + "integrity": "sha512-htwOEagMa/CXNykFFeAHHvMJeqZfNQEoQvHfsA4wgg5QqGNqD5soeCer4oGlCol6NGUxknrQO6VEustcv+Md+g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "13.4.19", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.19.tgz", + "integrity": "sha512-4Gj4vvtbK1JH8ApWTT214b3GwUh9EKKQjY41hH/t+u55Knxi/0wesMzwQRhppK6Ddalhu0TEttbiJ+wRcoEj5Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "13.4.19", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.19.tgz", + "integrity": "sha512-bUfDevQK4NsIAHXs3/JNgnvEY+LRyneDN788W2NYiRIIzmILjba7LaQTfihuFawZDhRtkYCv3JDC3B4TwnmRJw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "13.4.19", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.19.tgz", + "integrity": "sha512-Y5kikILFAr81LYIFaw6j/NrOtmiM4Sf3GtOc0pn50ez2GCkr+oejYuKGcwAwq3jiTKuzF6OF4iT2INPoxRycEA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "13.4.19", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.19.tgz", + "integrity": "sha512-YzA78jBDXMYiINdPdJJwGgPNT3YqBNNGhsthsDoWHL9p24tEJn9ViQf/ZqTbwSpX/RrkPupLfuuTH2sf73JBAw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, @@ -4172,6 +4331,15 @@ "size-limit": "9.0.0" } }, + "node_modules/@swc/helpers": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", + "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@testing-library/dom": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", @@ -4419,6 +4587,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-YIQtIg4PKr7ZyqNPZObpxfHsHEmuB8dXCxd6qVcGuQVDK2bpsF7bYNnBJ4Nn7giuACZg+WewExgrtAJ3XnA4Xw==", + "peer": true, "dependencies": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" @@ -5563,6 +5732,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "peer": true, + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, "node_modules/bytes-iec": { "version": "3.1.1", "dev": true, @@ -5603,7 +5784,6 @@ }, "node_modules/caniuse-lite": { "version": "1.0.30001534", - "dev": true, "funding": [ { "type": "opencollective", @@ -5747,6 +5927,12 @@ "node": ">=4" } }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "peer": true + }, "node_modules/cliui": { "version": "8.0.1", "dev": true, @@ -7645,6 +7831,12 @@ "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==", + "peer": true + }, "node_modules/globals": { "version": "11.12.0", "dev": true, @@ -7709,7 +7901,6 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "dev": true, "license": "ISC" }, "node_modules/graphemer": { @@ -8050,6 +8241,7 @@ "version": "10.5.3", "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.3.tgz", "integrity": "sha512-TzKn1uhJBMyuKTO4zUX47SU+d66fu1W9tVzIiZrQ6hBqQQeYscBMIzKL/qEXnFbJrH9uU5VV3+T5fWib4SIcKA==", + "peer": true, "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/fast-memoize": "2.2.0", @@ -9916,7 +10108,6 @@ }, "node_modules/nanoid": { "version": "3.3.6", - "dev": true, "funding": [ { "type": "github", @@ -9949,6 +10140,77 @@ "dev": true, "license": "MIT" }, + "node_modules/next": { + "version": "13.4.19", + "resolved": "https://registry.npmjs.org/next/-/next-13.4.19.tgz", + "integrity": "sha512-HuPSzzAbJ1T4BD8e0bs6B9C1kWQ6gv8ykZoRWs5AQoiIuqbGHHdQO7Ljuvg05Q0Z24E2ABozHe6FxDvI6HfyAw==", + "peer": true, + "dependencies": { + "@next/env": "13.4.19", + "@swc/helpers": "0.5.1", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001406", + "postcss": "8.4.14", + "styled-jsx": "5.1.1", + "watchpack": "2.4.0", + "zod": "3.21.4" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=16.8.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "13.4.19", + "@next/swc-darwin-x64": "13.4.19", + "@next/swc-linux-arm64-gnu": "13.4.19", + "@next/swc-linux-arm64-musl": "13.4.19", + "@next/swc-linux-x64-gnu": "13.4.19", + "@next/swc-linux-x64-musl": "13.4.19", + "@next/swc-win32-arm64-msvc": "13.4.19", + "@next/swc-win32-ia32-msvc": "13.4.19", + "@next/swc-win32-x64-msvc": "13.4.19" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "peer": true, + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, "node_modules/no-case": { "version": "3.0.4", "dev": true, @@ -10356,7 +10618,6 @@ }, "node_modules/picocolors": { "version": "1.0.0", - "dev": true, "license": "ISC" }, "node_modules/picomatch": { @@ -10743,6 +11004,7 @@ "version": "6.4.7", "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.7.tgz", "integrity": "sha512-0hnOHAZhxTFqD1hGTxrF40qNyZJPPYiGhWIIxIz0Udz+3e3c7sdN80qlxArR+AbJ+jb5ALXZkJYH20+GPFCM0Q==", + "peer": true, "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/icu-messageformat-parser": "2.6.2", @@ -11589,7 +11851,6 @@ }, "node_modules/source-map-js": { "version": "1.0.2", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -11695,6 +11956,15 @@ "node": ">= 0.4" } }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "peer": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "dev": true, @@ -11844,6 +12114,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "peer": true, + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, "node_modules/stylis": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", @@ -12455,6 +12748,19 @@ "loose-envify": "^1.0.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==", + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/wcwidth": { "version": "1.0.1", "dev": true, @@ -12760,6 +13066,15 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zod": { + "version": "3.21.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", + "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } } } } diff --git a/package.json b/package.json index f06b127..71b8566 100644 --- a/package.json +++ b/package.json @@ -78,6 +78,7 @@ }, "peerDependencies": { "react": ">=16", - "react-intl": ">=6" + "react-intl": ">=6", + "next": ">=11" } } diff --git a/src/components/CalculateCurrentStock/CalculateCurrentStock.test.tsx b/src/components/CalculateCurrentStock/CalculateCurrentStock.test.tsx index f73fe48..be09f2c 100644 --- a/src/components/CalculateCurrentStock/CalculateCurrentStock.test.tsx +++ b/src/components/CalculateCurrentStock/CalculateCurrentStock.test.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { render, screen } from '@/test/test-utils'; import { CalculateCurrentStockProps } from './CalculateCurrentStock'; import { CalculateCurrentStock } from '.'; diff --git a/src/components/CalculateCurrentStock/CalculateCurrentStock.tsx b/src/components/CalculateCurrentStock/CalculateCurrentStock.tsx index a2f3243..add1901 100644 --- a/src/components/CalculateCurrentStock/CalculateCurrentStock.tsx +++ b/src/components/CalculateCurrentStock/CalculateCurrentStock.tsx @@ -1,8 +1,8 @@ -import React from 'react'; +import { useContext } from 'react'; import { BoemlyAlert, Spacer } from 'boemly'; import { useEffect, useMemo, useState } from 'react'; -import { FormattedMessage, useIntl } from 'react-intl'; import FeasibilityStudyConfig from '@/models/FeasibilityStudyConfig'; +import { IntlContext } from '../ForestManagementProvider'; const VFM_TO_EFM_FACTOR = 0.75; @@ -11,7 +11,7 @@ export interface CalculateCurrentStockProps { } export const CalculateCurrentStock = ({ config }: CalculateCurrentStockProps): JSX.Element => { - const { formatNumber } = useIntl(); + const { formatNumber, formatMessage } = useContext(IntlContext); const [allRequiredHarvestingAmounts, setAllRequiredHarvestingAmounts] = useState(true); const totalAreaInHectare = useMemo( @@ -70,7 +70,7 @@ export const CalculateCurrentStock = ({ config }: CalculateCurrentStockProps): J if (config.stockAtPointOfTime.year > config.currentYear) { return ( } + text={formatMessage({ id: 'components.calculateCurrentStock.invalidYears' })} status="error" /> ); @@ -82,28 +82,34 @@ export const CalculateCurrentStock = ({ config }: CalculateCurrentStockProps): J - + {formatMessage({ + id: 'components.calculateCurrentStock.yearlyIncrement', + })} - + } + )} - + {formatMessage({ + id: 'components.calculateCurrentStock.averageYearlyHarvestingAmount', + })} - + } + )} - + {formatMessage({ + id: 'components.calculateCurrentStock.stockInTheYearOfInventory', + })} - + } + )} - + {formatMessage({ + id: 'components.calculateCurrentStock.currentYear', + })} - + } + )} @@ -153,12 +163,12 @@ export const CalculateCurrentStock = ({ config }: CalculateCurrentStockProps): J {!allRequiredHarvestingAmounts && ( <> - } + text={formatMessage( + { + id: 'components.calculateCurrentStock.warningDataMissing', + }, + { from: config.stockAtPointOfTime.year, to: config.currentYear } + )} status="warning" /> diff --git a/src/components/CalculateCurrentStock/messages.de.ts b/src/components/CalculateCurrentStock/messages.de.ts index 9344eb6..4517cc2 100644 --- a/src/components/CalculateCurrentStock/messages.de.ts +++ b/src/components/CalculateCurrentStock/messages.de.ts @@ -4,6 +4,7 @@ const messagesDe = { 'Durchschnittliche jährliche Nutzungsmenge', 'components.calculateCurrentStock.stockInTheYearOfInventory': 'Vorrat im Inventurjahr', 'components.calculateCurrentStock.currentStock': 'Aktueller Vorrat', + 'components.calculateCurrentStock.currentYear': 'Aktuelles Jahr', 'components.calculateCurrentStock.warningDataMissing': 'Für einige Jahre zwischen {from} und {to} fehlen Nutzungsmengen', diff --git a/src/components/CalculateCurrentStock/messages.en.ts b/src/components/CalculateCurrentStock/messages.en.ts index 9c65696..8851437 100644 --- a/src/components/CalculateCurrentStock/messages.en.ts +++ b/src/components/CalculateCurrentStock/messages.en.ts @@ -4,6 +4,7 @@ const messagesEn = { 'Average yearly harvesting amount', 'components.calculateCurrentStock.stockInTheYearOfInventory': 'Stock in the year of inventory', 'components.calculateCurrentStock.currentStock': 'Current stock', + 'components.calculateCurrentStock.currentYear': 'Current year', 'components.calculateCurrentStock.warningDataMissing': 'There are missing harvesting amounts for some years between {from} and {to}', diff --git a/src/components/ForestManagementProvider/ForestManagementProvider.tsx b/src/components/ForestManagementProvider/ForestManagementProvider.tsx new file mode 100644 index 0000000..62efdcc --- /dev/null +++ b/src/components/ForestManagementProvider/ForestManagementProvider.tsx @@ -0,0 +1,26 @@ +import rootMessagesDe from '@/rootMessages.de'; +import rootMessagesEn from '@/rootMessages.en'; +import React, { createContext } from 'react'; +import { createIntl, createIntlCache } from 'react-intl'; + +const cache = createIntlCache(); + +const intlFactory = (locale: string) => + createIntl( + { + locale, + messages: { de: rootMessagesDe, en: rootMessagesEn }[locale], + }, + cache + ); + +export const IntlContext = createContext(intlFactory('en')); + +interface ForestManagementProviderProps { + children: React.ReactNode; + locale: string; +} + +export const ForestManagementProvider = ({ children, locale }: ForestManagementProviderProps) => ( + {children} +); diff --git a/src/components/ForestManagementProvider/index.ts b/src/components/ForestManagementProvider/index.ts new file mode 100644 index 0000000..0819860 --- /dev/null +++ b/src/components/ForestManagementProvider/index.ts @@ -0,0 +1 @@ +export { ForestManagementProvider, IntlContext } from './ForestManagementProvider'; diff --git a/src/components/Forestry/Forestry.test.tsx b/src/components/Forestry/Forestry.test.tsx index 21261f2..447c02c 100644 --- a/src/components/Forestry/Forestry.test.tsx +++ b/src/components/Forestry/Forestry.test.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { render, screen } from '@/test/test-utils'; import { Forestry } from '.'; import { ForestryProps } from './Forestry'; diff --git a/src/components/Forestry/Forestry.tsx b/src/components/Forestry/Forestry.tsx index 16e9a5a..42707a8 100644 --- a/src/components/Forestry/Forestry.tsx +++ b/src/components/Forestry/Forestry.tsx @@ -1,16 +1,16 @@ -import React, { useMemo } from 'react'; -import { FormattedMessage, FormattedNumber, useIntl } from 'react-intl'; +import { useContext, useMemo } from 'react'; import getAreaInPercent from '@/utils/getAreaInPercent'; import FeasibilityStudyConfig from '@/models/FeasibilityStudyConfig'; import getNormalStock from '@/utils/getNormalStock'; import yieldTables from '@/constants/yieldTables'; +import { IntlContext } from '../ForestManagementProvider'; export interface ForestryProps { config: FeasibilityStudyConfig; } export const Forestry = ({ config }: ForestryProps): JSX.Element => { - const { formatNumber } = useIntl(); + const { formatNumber, formatMessage } = useContext(IntlContext); const operationClassWithAreaInPercent = useMemo( () => getAreaInPercent(config.operationClasses), @@ -67,18 +67,10 @@ export const Forestry = ({ config }: ForestryProps): JSX.Element => { - - - - + + + + @@ -86,34 +78,35 @@ export const Forestry = ({ config }: ForestryProps): JSX.Element => { ))} @@ -122,34 +115,33 @@ export const Forestry = ({ config }: ForestryProps): JSX.Element => { diff --git a/src/components/OperationClass/OperationClass.test.tsx b/src/components/OperationClass/OperationClass.test.tsx index 54ab1c4..a5ea332 100644 --- a/src/components/OperationClass/OperationClass.test.tsx +++ b/src/components/OperationClass/OperationClass.test.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { OperationClass } from '.'; import { render, screen } from '@/test/test-utils'; import YieldTableEnum from '@/models/YieldTableEnum'; diff --git a/src/components/OperationClass/OperationClass.tsx b/src/components/OperationClass/OperationClass.tsx index 5eccc19..ae45ffd 100644 --- a/src/components/OperationClass/OperationClass.tsx +++ b/src/components/OperationClass/OperationClass.tsx @@ -1,12 +1,12 @@ -import React from 'react'; -import { useMemo } from 'react'; -import { FormattedMessage, FormattedNumber, useIntl } from 'react-intl'; +import { useContext, useMemo } from 'react'; +import Link from 'next/link'; import yieldTables from '@/constants/yieldTables'; import AreaInHectare from '@/models/AreaInHectare'; import AreaInPercent from '@/models/AreaInPercent'; import YieldTableEnum from '@/models/YieldTableEnum'; import getAreaInPercent from '@/utils/getAreaInPercent'; import getNormalStock from '@/utils/getNormalStock'; +import { IntlContext } from '../ForestManagementProvider'; interface Species { /** Free text title of the species */ @@ -30,7 +30,7 @@ export const OperationClass: React.FC = ({ rotationPeriod, listOfSpecies, }: OperationClassProps) => { - const { formatNumber } = useIntl(); + const { formatNumber, formatMessage } = useContext(IntlContext); const areasInPercentPerSpecies = useMemo(() => getAreaInPercent(listOfSpecies), [listOfSpecies]); @@ -49,31 +49,19 @@ export const OperationClass: React.FC = ({ return ( <> - - - {' '} - + {formatMessage({ id: 'components.operationClass.rotationPeriod' })}{' '} + {formatNumber(rotationPeriod)}
- - - - - - - - {formatMessage({ id: 'components.forestry.operationClass' })}{formatMessage({ id: 'components.forestry.area' })}{formatMessage({ id: 'components.forestry.areaDistribution' })}{formatMessage({ id: 'components.forestry.normalStock' })}
{operationClass.name} - + } + )} - + {formatNumber(operationClassWithAreaInPercent[index].areaInPercent, { + style: 'percent', + minimumFractionDigits: 1, + maximumFractionDigits: 1, + })} - + } + )}
- + } + )} - + {formatNumber(totalAreaInPercent, { + style: 'percent', + minimumFractionDigits: 1, + maximumFractionDigits: 1, + })} - + } + )}
- + {hasAreaInHectare && ( - + )} - - - + + + @@ -81,63 +69,63 @@ export const OperationClass: React.FC = ({ {hasAreaInHectare && ( )} ))} - + )} diff --git a/src/components/OperationClasses/OperationClasses.test.tsx b/src/components/OperationClasses/OperationClasses.test.tsx index fe2e6f1..bcf60b3 100644 --- a/src/components/OperationClasses/OperationClasses.test.tsx +++ b/src/components/OperationClasses/OperationClasses.test.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { render, screen } from '@/test/test-utils'; import { OperationClasses } from '.'; import { feasibilityStudyConfigMock } from '@/test/mocks/feasibilityStudyConfig'; diff --git a/src/components/OperationClasses/OperationClasses.tsx b/src/components/OperationClasses/OperationClasses.tsx index 1b1c308..a17ccaf 100644 --- a/src/components/OperationClasses/OperationClasses.tsx +++ b/src/components/OperationClasses/OperationClasses.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { Box, Heading, Spacer } from 'boemly'; import FeasibilityStudyConfig from '@/models/FeasibilityStudyConfig'; import { OperationClass } from '@/components/OperationClass'; diff --git a/src/index.ts b/src/index.ts index ab7407f..2f204e5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,12 +1,5 @@ -import rootMessagesDe from './rootMessages.de'; -import rootMessagesEn from './rootMessages.en'; - export * from '@/components/CalculateCurrentStock'; +export * from '@/components/ForestManagementProvider'; export * from '@/components/Forestry'; export * from '@/components/OperationClass'; export * from '@/components/OperationClasses'; - -export const messages = { - de: rootMessagesDe, - en: rootMessagesEn, -}; diff --git a/src/test/test-utils.tsx b/src/test/test-utils.tsx index 07a2576..9487356 100644 --- a/src/test/test-utils.tsx +++ b/src/test/test-utils.tsx @@ -1,15 +1,12 @@ import React, { ReactElement } from 'react'; import { RenderOptions, render } from '@testing-library/react'; import { BoemlyThemeProvider } from 'boemly'; -import { IntlProvider } from 'react-intl'; -import rootMessagesEn from '../rootMessages.en'; +import { ForestManagementProvider } from '..'; const AllTheProviders = ({ children }: { children: React.ReactNode }) => { return ( - - {children} - + {children} ); }; diff --git a/tsconfig.json b/tsconfig.json index c2aeffe..81e83dd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,7 @@ "baseUrl": ".", "paths": { "@/*": ["./src/*"] - } + }, + "jsx": "react-jsx" } } From 9eadf1f46c1ca6c0385527d4b8bc0511d8cd0a16 Mon Sep 17 00:00:00 2001 From: Raul Steurer Date: Mon, 18 Sep 2023 14:26:29 +0200 Subject: [PATCH 4/8] feat: Export FeasibilityStudyConfig type --- src/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/index.ts b/src/index.ts index 2f204e5..f3230a2 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,3 +3,5 @@ export * from '@/components/ForestManagementProvider'; export * from '@/components/Forestry'; export * from '@/components/OperationClass'; export * from '@/components/OperationClasses'; + +export type { default as FeasibilityStudyConfig } from '@/models/FeasibilityStudyConfig'; From a91a18c2e4d5cbb54646436ed18beaded117dbab Mon Sep 17 00:00:00 2001 From: Raul Steurer Date: Mon, 18 Sep 2023 14:26:33 +0200 Subject: [PATCH 5/8] chore: Add basic docs --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index 66806ea..1ff800b 100644 --- a/README.md +++ b/README.md @@ -1 +1,19 @@ # 🌲 @treely/forest-management + +The @treely/forest-management module contains components that are used to +create feasibility studies for proposed forest based CO2 reduction projects. + +## Usage + +This module is intended to be used in a Next.js project and should support all +versions of Next.js that are newer than 11.0.0. + +For english-only projects, it is possible to use the components directly. For +projects that need to support the german language, the `ForestManagementProvider` +component should be used to wrap the components and pass the `locale` prop. + +```tsx + + + +``` From 982a9aff4ba47d80e30d90aa7eec511528e2c2f6 Mon Sep 17 00:00:00 2001 From: Raul Steurer Date: Tue, 19 Sep 2023 13:51:13 +0200 Subject: [PATCH 6/8] chore: Use newer node versions in CI, fix commands --- .github/workflows/main.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index affcfe1..4bbd42c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,8 +7,8 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - node: ['14.x', '16.x'] - os: [ubuntu-latest, windows-latest, macOS-latest] + node: ['16.x', '18.x'] + os: [ubuntu-latest, macOS-latest] steps: - name: Checkout repo @@ -23,10 +23,10 @@ jobs: uses: bahmutov/npm-install@v1 - name: Lint - run: yarn lint + run: npm run lint - name: Test - run: yarn test --ci --coverage --maxWorkers=2 + run: npm run test --ci --coverage --maxWorkers=2 - name: Build - run: yarn build + run: npm run build From acd859444a2d4b389e36cd008f383d7ebc4f0146 Mon Sep 17 00:00:00 2001 From: Raul Steurer Date: Wed, 20 Sep 2023 15:30:50 +0200 Subject: [PATCH 7/8] chore: Fix license, size-limit and gitignore --- .gitignore | 2 +- LICENSE | 4 +- package-lock.json | 806 ++++++++++++++++++++++++++++++++++++++++++---- package.json | 6 +- 4 files changed, 745 insertions(+), 73 deletions(-) diff --git a/.gitignore b/.gitignore index 9006e61..4d41a74 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,4 @@ node_modules dist # Ignore the output of `npm pack` -treely-forest-management-*.tgz \ No newline at end of file +treely-forest-management-*.tgz diff --git a/LICENSE b/LICENSE index 9a0cd50..c04a144 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2023 Raul Steurer +Copyright (c) 2023 Tree.ly GmbH Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file +SOFTWARE. diff --git a/package-lock.json b/package-lock.json index 15438b3..5a66246 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ }, "devDependencies": { "@rollup/plugin-alias": "^5.0.0", - "@size-limit/preset-small-lib": "^9.0.0", + "@size-limit/preset-big-lib": "^9.0.0", "@testing-library/jest-dom": "^6.1.3", "@testing-library/react": "^14.0.0", "@tsconfig/recommended": "^1.0.3", @@ -3133,21 +3133,6 @@ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.3", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -4259,19 +4244,16 @@ "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@size-limit/esbuild": { - "version": "9.0.0", + "node_modules/@sitespeed.io/tracium": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@sitespeed.io/tracium/-/tracium-0.3.3.tgz", + "integrity": "sha512-dNZafjM93Y+F+sfwTO5gTpsGXlnc/0Q+c2+62ViqP3gkMWvHEMSKkaEHgVJLcLg3i/g19GSIPziiKpgyne07Bw==", "dev": true, - "license": "MIT", "dependencies": { - "esbuild": "^0.19.2", - "nanoid": "^3.3.6" + "debug": "^4.1.1" }, "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "size-limit": "9.0.0" + "node": ">=8" } }, "node_modules/@size-limit/file": { @@ -4318,19 +4300,52 @@ "dev": true, "license": "ISC" }, - "node_modules/@size-limit/preset-small-lib": { + "node_modules/@size-limit/preset-big-lib": { "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@size-limit/preset-big-lib/-/preset-big-lib-9.0.0.tgz", + "integrity": "sha512-wc+VNLXjn0z11s1IWevo8+utP7uZGPVDNNe5cNyMFYHv7/pwJtgsd8w2onEkbK1h8x1oJfWlcqFNKAnvD1Bylw==", "dev": true, - "license": "MIT", "dependencies": { - "@size-limit/esbuild": "9.0.0", "@size-limit/file": "9.0.0", + "@size-limit/time": "9.0.0", + "@size-limit/webpack": "9.0.0", "size-limit": "9.0.0" }, "peerDependencies": { "size-limit": "9.0.0" } }, + "node_modules/@size-limit/time": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@size-limit/time/-/time-9.0.0.tgz", + "integrity": "sha512-//Yba5fRkYqpBZ6MFtjDTSjCpQonDMqkwofpe0G1hMd/5l/3PZXVLDCAU2BW3nQFqTkpeyytFG6Y3jxUqSddiw==", + "dev": true, + "dependencies": { + "estimo": "^2.3.6" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "size-limit": "9.0.0" + } + }, + "node_modules/@size-limit/webpack": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@size-limit/webpack/-/webpack-9.0.0.tgz", + "integrity": "sha512-0YwdvmBj9rS4bXE/PY9vSdc5lCiQXmT0794EsG7yvlDMWyrWa/dsgcRok/w0MoZstfuLaS6lv03VI5UJRFU/lg==", + "dev": true, + "dependencies": { + "nanoid": "^3.3.6", + "webpack": "^5.88.2" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "size-limit": "9.0.0" + } + }, "node_modules/@swc/helpers": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", @@ -4553,6 +4568,26 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "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": "1.0.1", "dev": true, @@ -4738,6 +4773,16 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", "dev": true, @@ -5028,11 +5073,169 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, "node_modules/@xobotyi/scrollbar-width": { "version": "1.9.5", "resolved": "https://registry.npmjs.org/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz", "integrity": "sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==" }, + "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/@zag-js/dom-query": { "version": "0.16.0", "resolved": "https://registry.npmjs.org/@zag-js/dom-query/-/dom-query-0.16.0.tgz", @@ -5076,6 +5279,15 @@ "acorn-walk": "^8.0.2" } }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", "dev": true, @@ -5130,6 +5342,15 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "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/ansi-colors": { "version": "4.1.3", "dev": true, @@ -5716,6 +5937,15 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "dev": true, @@ -5876,6 +6106,21 @@ "fsevents": "~2.3.2" } }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "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/ci-info": { "version": "3.8.0", "dev": true, @@ -6113,6 +6358,15 @@ "dev": true, "license": "MIT" }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dev": true, + "dependencies": { + "node-fetch": "2.6.7" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "dev": true, @@ -6407,6 +6661,12 @@ "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" }, + "node_modules/devtools-protocol": { + "version": "0.0.981744", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz", + "integrity": "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==", + "dev": true + }, "node_modules/diff": { "version": "4.0.2", "dev": true, @@ -6610,6 +6870,19 @@ "once": "^1.4.0" } }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/enquirer": { "version": "2.4.1", "dev": true, @@ -6741,6 +7014,12 @@ "safe-array-concat": "^1.0.1" } }, + "node_modules/es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", + "dev": true + }, "node_modules/es-set-tostringtag": { "version": "2.0.1", "dev": true, @@ -6778,42 +7057,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild": { - "version": "0.19.3", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.19.3", - "@esbuild/android-arm64": "0.19.3", - "@esbuild/android-x64": "0.19.3", - "@esbuild/darwin-arm64": "0.19.3", - "@esbuild/darwin-x64": "0.19.3", - "@esbuild/freebsd-arm64": "0.19.3", - "@esbuild/freebsd-x64": "0.19.3", - "@esbuild/linux-arm": "0.19.3", - "@esbuild/linux-arm64": "0.19.3", - "@esbuild/linux-ia32": "0.19.3", - "@esbuild/linux-loong64": "0.19.3", - "@esbuild/linux-mips64el": "0.19.3", - "@esbuild/linux-ppc64": "0.19.3", - "@esbuild/linux-riscv64": "0.19.3", - "@esbuild/linux-s390x": "0.19.3", - "@esbuild/linux-x64": "0.19.3", - "@esbuild/netbsd-x64": "0.19.3", - "@esbuild/openbsd-x64": "0.19.3", - "@esbuild/sunos-x64": "0.19.3", - "@esbuild/win32-arm64": "0.19.3", - "@esbuild/win32-ia32": "0.19.3", - "@esbuild/win32-x64": "0.19.3" - } - }, "node_modules/escalade": { "version": "3.1.1", "dev": true, @@ -7343,6 +7586,34 @@ "node": ">=4.0" } }, + "node_modules/estimo": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/estimo/-/estimo-2.3.6.tgz", + "integrity": "sha512-aPd3VTQAL1TyDyhFfn6fqBTJ9WvbRZVN4Z29Buk6+P6xsI0DuF5Mh3dGv6kYCUxWnZkB4Jt3aYglUxOtuwtxoA==", + "dev": true, + "dependencies": { + "@sitespeed.io/tracium": "^0.3.3", + "commander": "^9.1.0", + "find-chrome-bin": "0.1.0", + "nanoid": "^3.3.2", + "puppeteer-core": "^13.5.1" + }, + "bin": { + "estimo": "scripts/cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/estimo/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, "node_modules/estraverse": { "version": "5.3.0", "dev": true, @@ -7364,6 +7635,15 @@ "node": ">=0.10.0" } }, + "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": "4.1.0", "dev": true, @@ -7408,6 +7688,26 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "license": "MIT" @@ -7485,6 +7785,15 @@ "bser": "2.1.1" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/figlet": { "version": "1.6.0", "dev": true, @@ -7534,6 +7843,15 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, + "node_modules/find-chrome-bin": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/find-chrome-bin/-/find-chrome-bin-0.1.0.tgz", + "integrity": "sha512-XoFZwaEn1R3pE6zNG8kH64l2e093hgB9+78eEKPmJK0o1EXEou+25cEWdtu2qq4DBQPDSe90VJAWVI2Sz9pX6Q==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", @@ -7659,6 +7977,12 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, "node_modules/fs-extra": { "version": "10.1.0", "dev": true, @@ -7834,8 +8158,7 @@ "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==", - "peer": true + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, "node_modules/globals": { "version": "11.12.0", @@ -9778,6 +10101,15 @@ "version": "1.2.4", "license": "MIT" }, + "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/locate-path": { "version": "5.0.0", "dev": true, @@ -10074,6 +10406,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, "node_modules/mri": { "version": "1.2.0", "dev": true, @@ -10140,6 +10478,12 @@ "dev": true, "license": "MIT" }, + "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/next": { "version": "13.4.19", "resolved": "https://registry.npmjs.org/next/-/next-13.4.19.tgz", @@ -10220,6 +10564,48 @@ "tslib": "^2.0.3" } }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/node-fetch/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==", + "dev": true + }, + "node_modules/node-fetch/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==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/node-int64": { "version": "0.4.0", "dev": true, @@ -10605,6 +10991,12 @@ "node": ">=8" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, "node_modules/phosphor-react": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/phosphor-react/-/phosphor-react-1.4.1.tgz", @@ -10747,6 +11139,15 @@ "node": ">=6" } }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/progress-estimator": { "version": "0.3.1", "dev": true, @@ -10855,6 +11256,12 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "node_modules/psl": { "version": "1.9.0", "dev": true, @@ -10877,6 +11284,50 @@ "node": ">=6" } }, + "node_modules/puppeteer-core": { + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-13.7.0.tgz", + "integrity": "sha512-rXja4vcnAzFAP1OVLq/5dWNfwBGuzcOARJ6qGV7oAZhnLmVRU8G5MsdeQEAOy332ZhkIOnn9jp15R89LKHyp2Q==", + "dev": true, + "dependencies": { + "cross-fetch": "3.1.5", + "debug": "4.3.4", + "devtools-protocol": "0.0.981744", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.1", + "pkg-dir": "4.2.0", + "progress": "2.0.3", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "tar-fs": "2.1.1", + "unbzip2-stream": "1.4.3", + "ws": "8.5.0" + }, + "engines": { + "node": ">=10.18.1" + } + }, + "node_modules/puppeteer-core/node_modules/ws": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "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/pure-rand": { "version": "6.0.3", "dev": true, @@ -11665,6 +12116,24 @@ "loose-envify": "^1.1.0" } }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "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/screenfull": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz", @@ -12168,6 +12637,43 @@ "dev": true, "license": "MIT" }, + "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-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/terser": { "version": "5.19.4", "dev": true, @@ -12185,6 +12691,69 @@ "node": ">=10" } }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "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/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/terser-webpack-plugin/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/test-exclude": { "version": "6.0.0", "dev": true, @@ -12211,6 +12780,12 @@ "node": ">=10" } }, + "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/tiny-glob": { "version": "0.2.9", "dev": true, @@ -12567,6 +13142,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "dev": true, @@ -12752,7 +13337,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "peer": true, "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -12777,6 +13361,84 @@ "node": ">=12" } }, + "node_modules/webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "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.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "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-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/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/webpack/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/whatwg-encoding": { "version": "2.0.0", "dev": true, @@ -13048,6 +13710,16 @@ "node": ">=12" } }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "node_modules/yn": { "version": "3.1.1", "dev": true, diff --git a/package.json b/package.json index 71b8566..429dbd8 100644 --- a/package.json +++ b/package.json @@ -49,16 +49,16 @@ "size-limit": [ { "path": "dist/forest-management.cjs.production.min.js", - "limit": "10 KB" + "limit": "300 KB" }, { "path": "dist/forest-management.esm.js", - "limit": "10 KB" + "limit": "100 KB" } ], "devDependencies": { "@rollup/plugin-alias": "^5.0.0", - "@size-limit/preset-small-lib": "^9.0.0", + "@size-limit/preset-big-lib": "^9.0.0", "@testing-library/jest-dom": "^6.1.3", "@testing-library/react": "^14.0.0", "@tsconfig/recommended": "^1.0.3", From 74f5feb3aff4268fec22f78c935e7b8b0990244b Mon Sep 17 00:00:00 2001 From: Raul Steurer Date: Wed, 20 Sep 2023 17:06:55 +0200 Subject: [PATCH 8/8] feat: Export yieldTables --- src/index.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/index.ts b/src/index.ts index f3230a2..be76af3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -4,4 +4,7 @@ export * from '@/components/Forestry'; export * from '@/components/OperationClass'; export * from '@/components/OperationClasses'; +export { default as yieldTables } from './constants/yieldTables'; + export type { default as FeasibilityStudyConfig } from '@/models/FeasibilityStudyConfig'; +export type { default as YieldTableEnum } from '@/models/YieldTableEnum';
- - {formatMessage({ id: 'components.operationClass.yieldTable' })} - - {formatMessage({ id: 'components.operationClass.areas' })} - - - - - - {formatMessage({ id: 'components.operationClass.distribution' })}{formatMessage({ id: 'components.operationClass.siteProductivity' })}{formatMessage({ id: 'components.operationClass.normalStock' })}
{species.title} - + {yieldTables[species.yieldTable].meta.title} - + - + } + )} - + {formatNumber(areasInPercentPerSpecies[index].areaInPercent, { + style: 'percent', + minimumFractionDigits: 1, + maximumFractionDigits: 1, + })} - + {formatNumber(species.siteProductivity, { + minimumFractionDigits: 1, + maximumFractionDigits: 1, + })} - + } + )}
- - {formatMessage({ id: 'components.operationClass.total' })} {hasAreaInHectare && ( - sum + value.areaInHectare, @@ -148,26 +136,25 @@ export const OperationClass: React.FC = ({ maximumFractionDigits: 1, } ), - }} - /> + } + )} - sum + value.areaInPercent, - 0 - )} - style="percent" - minimumFractionDigits={1} - maximumFractionDigits={1} - /> + {formatNumber( + areasInPercentPerSpecies.reduce((sum, value) => sum + value.areaInPercent, 0), + { + style: 'percent', + minimumFractionDigits: 1, + maximumFractionDigits: 1, + } + )} - @@ -176,8 +163,8 @@ export const OperationClass: React.FC = ({ ), { minimumFractionDigits: 1, maximumFractionDigits: 1 } ), - }} - /> + } + )}