diff --git a/.env.production b/.env.production new file mode 100644 index 000000000..9fa54e36e --- /dev/null +++ b/.env.production @@ -0,0 +1,4 @@ +VITE_COMPETITIVE_EXAM_PANEL=VITE_COMPETITIVE_EXAM_PANEL +VITE_QUALIFY_DISABLE_EMAM_PANEL=VITE_QUALIFY_DISABLE_EMAM_PANEL +VITE_QUALIFY_EXAM_PANEL=VITE_QUALIFY_EXAM_PANEL +VITE_S3CLUSTER_PUBLIC_URL=VITE_S3CLUSTER_PUBLIC_URL \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 000000000..848d6853c --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,21 @@ +/* eslint-env node */ +require("@rushstack/eslint-patch/modern-module-resolution"); + +module.exports = { + root: true, + extends: [ + "plugin:vue/vue3-essential", + "eslint:recommended", + "@vue/eslint-config-typescript/recommended", + "@vue/eslint-config-prettier/recommended", + ], + overrides: [ + { + files: ["cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}"], + extends: ["plugin:cypress/recommended"], + }, + ], + parserOptions: { + ecmaVersion: "latest", + }, +}; diff --git a/.github/workflows/build-local.yaml b/.github/workflows/build-local.yaml new file mode 100644 index 000000000..973c40ff9 --- /dev/null +++ b/.github/workflows/build-local.yaml @@ -0,0 +1,39 @@ +# use for local build with act +name: build-local +run-name: build-local ${{ github.actor }} +on: + workflow_dispatch: +env: + REGISTRY: docker.frappet.com + IMAGE_NAME: demo/bma-ehr-app +jobs: + # act workflow_dispatch -W .github/workflows/build-local.yaml --input IMAGE_VER=test-v1 + build-local: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + # skip Set up QEMU because it fail on act and container + - name: Gen Version + id: gen_ver + run: | + if [[ $GITHUB_REF == 'refs/tags/'* ]]; then + IMAGE_VER='${GITHUB_REF/refs\/tags\//}' + else + IMAGE_VER=${{ github.event.inputs.IMAGE_VER }} + fi + if [[ $IMAGE_VER == '' ]]; then + IMAGE_VER='test-vBeta' + fi + echo '::set-output name=image_ver::'$IMAGE_VER + - name: Test Version + run: | + echo $GITHUB_REF + echo ${{ steps.gen_ver.outputs.image_ver }} + + - name: Build and load local docker image + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64 + load: true + tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{ steps.gen_ver.outputs.image_ver }},${{env.REGISTRY}}/${{env.IMAGE_NAME}}:latest \ No newline at end of file diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 000000000..f4165e139 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,86 @@ +name: release-test +run-name: release-test ${{ github.actor }} +on: + # push: + # tags: + # - 'v[0-9]+.[0-9]+.[0-9]+' + # tags-ignore: + # - '2.*' + # Allow run workflow manually from Action tab + workflow_dispatch: +env: + REGISTRY: docker.frappet.com + IMAGE_NAME: ehr/bma-ehr-app + DEPLOY_HOST: frappet.com + COMPOSE_PATH: /home/frappet/docker/bma-ehr + TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0 +jobs: + # # act workflow_dispatch -W .github/workflows/release.yaml --input IMAGE_VER=test-v1 -s DOCKER_USER=sorawit -s DOCKER_PASS=P@ssword -s SSH_PASSWORD=P@ssw0rd + # release-test: + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v3 + # # skip Set up QEMU because it fail on act and container + # # Gen Version try to get version from tag or inut + # - name: Gen Version + # id: gen_ver + # run: | + # if [[ $GITHUB_REF == 'refs/tags/'* ]]; then + # IMAGE_VER='${GITHUB_REF/refs\/tags\//}' + # else + # IMAGE_VER=${{ github.event.inputs.IMAGE_VER }} + # fi + # if [[ $IMAGE_VER == '' ]]; then + # IMAGE_VER='test-vBeta' + # fi + # echo '::set-output name=image_ver::'$IMAGE_VER + # - name: Check Version + # run: | + # echo $GITHUB_REF + # echo ${{ steps.gen_ver.outputs.image_ver }} + + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v2 + # - name: Login in to registry + # uses: docker/login-action@v2 + # with: + # registry: ${{env.REGISTRY}} + # username: ${{secrets.DOCKER_USER}} + # password: ${{secrets.DOCKER_PASS}} + # - name: Build and push docker image + # uses: docker/build-push-action@v3 + # with: + # context: . + # platforms: linux/amd64 + # push: true + # tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{ steps.gen_ver.outputs.image_ver }},${{env.REGISTRY}}/${{env.IMAGE_NAME}}:latest + # - name: Remote Deployment + # uses: appleboy/ssh-action@v0.1.8 + # with: + # host: ${{env.DEPLOY_HOST}} + # username: frappet + # password: ${{ secrets.SSH_PASSWORD }} + # port: 22 + # script: | + # cd "${{env.COMPOSE_PATH}}" + # docker-compose pull + # docker-compose up -d + # echo "${{ steps.gen_ver.outputs.image_ver }}"> success + # - uses: snow-actions/line-notify@v1.1.0 + # if: success() + # with: + # access_token: ${{ env.TOKEN_LINE }} + # message: | + # -Success✅✅✅ + # Image: ${{env.IMAGE_NAME}} + # Version: ${{ github.event.inputs.IMAGE_VER }} + # By: ${{secrets.DOCKER_USER}} + # - uses: snow-actions/line-notify@v1.1.0 + # if: failure() + # with: + # access_token: ${{ env.TOKEN_LINE }} + # message: | + # -Failure❌❌❌ + # Image: ${{env.IMAGE_NAME}} + # Version: ${{ github.event.inputs.IMAGE_VER }} + # By: ${{secrets.DOCKER_USER}} diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..38adffa64 --- /dev/null +++ b/.gitignore @@ -0,0 +1,28 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 000000000..c0a6e5a48 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..a6b08ee82 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +# docker build . -t docker.frappet.com/demo/fe:latest +FROM node:latest as build-stage +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY ./ . + +RUN npm run build + +FROM nginx as production-stage + +RUN mkdir /app +COPY --from=build-stage /app/dist /app +COPY nginx.conf /etc/nginx/nginx.conf + +COPY entrypoint.sh /usr/local/bin/entrypoint.sh +RUN chmod u+x /usr/local/bin/entrypoint.sh + + +ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] +CMD ["nginx", "-g", "daemon off;"] diff --git a/cypress.config.ts b/cypress.config.ts new file mode 100644 index 000000000..0f66080fd --- /dev/null +++ b/cypress.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'cypress' + +export default defineConfig({ + e2e: { + specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', + baseUrl: 'http://localhost:4173' + } +}) diff --git a/cypress/e2e/example.cy.ts b/cypress/e2e/example.cy.ts new file mode 100644 index 000000000..7a8c909fd --- /dev/null +++ b/cypress/e2e/example.cy.ts @@ -0,0 +1,8 @@ +// https://docs.cypress.io/api/introduction/api.html + +describe('My First Test', () => { + it('visits the app root url', () => { + cy.visit('/') + cy.contains('h1', 'You did it!') + }) +}) diff --git a/cypress/e2e/tsconfig.json b/cypress/e2e/tsconfig.json new file mode 100644 index 000000000..be213aefc --- /dev/null +++ b/cypress/e2e/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@vue/tsconfig/tsconfig.web.json", + "include": ["./**/*", "../support/**/*"], + "compilerOptions": { + "isolatedModules": false, + "target": "es5", + "lib": ["es5", "dom"], + "types": ["cypress"] + } +} diff --git a/cypress/fixtures/example.json b/cypress/fixtures/example.json new file mode 100644 index 000000000..02e425437 --- /dev/null +++ b/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/cypress/support/commands.ts b/cypress/support/commands.ts new file mode 100644 index 000000000..9b7bb8e25 --- /dev/null +++ b/cypress/support/commands.ts @@ -0,0 +1,39 @@ +/// +// *********************************************** +// This example commands.ts shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) +// +// declare global { +// namespace Cypress { +// interface Chainable { +// login(email: string, password: string): Chainable +// drag(subject: string, options?: Partial): Chainable +// dismiss(subject: string, options?: Partial): Chainable +// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable +// } +// } +// } + +export {} diff --git a/cypress/support/e2e.ts b/cypress/support/e2e.ts new file mode 100644 index 000000000..d68db96df --- /dev/null +++ b/cypress/support/e2e.ts @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 000000000..d6788b862 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +ROOT_DIR=/app + +# Replace env vars in JavaScript files +echo "Replacing env constants in JS" +for file in $ROOT_DIR/assets/app.*.js* $ROOT_DIR/js/app.*.js* $ROOT_DIR/index.html $ROOT_DIR/precache-manifest*.js; +do + echo "Processing $file ..."; + + sed -i 's|VITE_COMPETITIVE_EXAM_PANEL|'${VITE_COMPETITIVE_EXAM_PANEL}'|g' $file + sed -i 's|VITE_QUALIFY_DISABLE_EMAM_PANEL|'${VITE_QUALIFY_DISABLE_EMAM_PANEL}'|g' $file + sed -i 's|VITE_QUALIFY_EXAM_PANEL|'${VITE_QUALIFY_EXAM_PANEL}'|g' $file + sed -i 's|VITE_S3CLUSTER_PUBLIC_URL|'${VITE_S3CLUSTER_PUBLIC_URL}'|g' $file + +done + +echo "Starting Nginx" +nginx -g 'daemon off;' \ No newline at end of file diff --git a/env.d.ts b/env.d.ts new file mode 100644 index 000000000..11f02fe2a --- /dev/null +++ b/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/index.html b/index.html new file mode 100644 index 000000000..de8acc5bb --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + ระบบทรัพยากรบุคคล + + +
+ + + diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 000000000..6f61d6c7c --- /dev/null +++ b/nginx.conf @@ -0,0 +1,30 @@ +user nginx; +worker_processes 1; +error_log /var/log/nginx/error.log warn; +pid /var/run/nginx.pid; +events { + worker_connections 1024; +} +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + access_log /var/log/nginx/access.log main; + sendfile on; + keepalive_timeout 65; + server { + listen 80; + server_name localhost; + location / { + root /app; + index index.html; + try_files $uri $uri/ /index.html; + } + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..6188060bd --- /dev/null +++ b/package-lock.json @@ -0,0 +1,14326 @@ +{ + "name": "ehr", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "ehr", + "version": "0.0.0", + "dependencies": { + "@fullcalendar/core": "^6.0.1", + "@fullcalendar/daygrid": "^6.0.1", + "@fullcalendar/interaction": "^6.0.2", + "@fullcalendar/list": "^6.0.2", + "@fullcalendar/react": "^6.0.1", + "@fullcalendar/timegrid": "^6.0.2", + "@fullcalendar/vue3": "^6.0.1", + "@quasar/extras": "^1.15.8", + "@vuepic/vue-datepicker": "^3.6.3", + "bma-org-chart": "^0.0.7", + "keycloak-js": "^20.0.2", + "moment": "^2.29.4", + "pinia": "^2.0.29", + "quasar": "^2.11.1", + "structure-chart": "^0.0.9", + "vue": "^3.2.45", + "vue-router": "^4.1.6", + "vue3-datepicker": "^0.3.4" + }, + "devDependencies": { + "@quasar/vite-plugin": "^1.3.0", + "@rushstack/eslint-patch": "^1.1.4", + "@types/jsdom": "^20.0.1", + "@types/node": "^18.11.12", + "@vitejs/plugin-vue": "^4.0.0", + "@vitejs/plugin-vue-jsx": "^3.0.0", + "@vue/eslint-config-prettier": "^7.0.0", + "@vue/eslint-config-typescript": "^11.0.0", + "@vue/test-utils": "^2.2.6", + "@vue/tsconfig": "^0.1.3", + "cypress": "^12.0.2", + "eslint": "^8.22.0", + "eslint-plugin-cypress": "^2.12.1", + "eslint-plugin-vue": "^9.3.0", + "jsdom": "^20.0.3", + "npm-run-all": "^4.1.5", + "prettier": "^2.7.1", + "sass": "^1.32.12", + "start-server-and-test": "^1.15.2", + "typescript": "~4.7.4", + "vite": "^4.0.0", + "vitest": "^0.25.6", + "vue-table-to-excel": "^1.0.6", + "vue-tsc": "^1.0.12" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "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.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz", + "integrity": "sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.1.tgz", + "integrity": "sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.0", + "@babel/helper-compilation-targets": "^7.22.1", + "@babel/helper-module-transforms": "^7.22.1", + "@babel/helpers": "^7.22.0", + "@babel/parser": "^7.22.0", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.3.tgz", + "integrity": "sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.3", + "@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.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz", + "integrity": "sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.0", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.1.tgz", + "integrity": "sha512-SowrZ9BWzYFgzUMwUmowbPSGu6CXL5MSuuCkG3bejahSpSymioPmuLdhPxNOc9MjuNGjy7M/HaXvJ8G82Lywlw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.22.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.22.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz", + "integrity": "sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.3.tgz", + "integrity": "sha512-Gl7sK04b/2WOb6OPVeNy9eFKeD3L6++CzL3ykPOWqTn08xgYYK0wz4TUh2feIImDXxcVW3/9WQ1NMKY66/jfZA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz", + "integrity": "sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.1.tgz", + "integrity": "sha512-ut4qrkE4AuSfrwHSps51ekR1ZY/ygrP1tp0WFm8oVq6nzc/hvfV/22JylndIbsf2U2M9LOMwiSddr6y+78j+OQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-member-expression-to-functions": "^7.22.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.3.tgz", + "integrity": "sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz", + "integrity": "sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", + "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", + "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.3.tgz", + "integrity": "sha512-pyjnCIniO5PNaEuGxT28h0HbMru3qCVrMqVgVOz/krComdIrY9W6FCLBq9NWHY8HDGaUlan+UhmZElDENIfCcw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.22.1", + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/plugin-syntax-typescript": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.3.tgz", + "integrity": "sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.4.tgz", + "integrity": "sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.3", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.22.4", + "@babel/types": "^7.22.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.4.tgz", + "integrity": "sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + } + }, + "node_modules/@cypress/xvfb/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "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.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", + "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@fullcalendar/core": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.8.tgz", + "integrity": "sha512-i8JBIvZCWGO9dsMEDcx9bnsQZ9PtGSJdOXGgWbhLaGq2iq41OBdp9g9gM4b/Otv2oK8bL5Gl6CsMmb/HkDtA6Q==", + "dependencies": { + "preact": "~10.12.1" + } + }, + "node_modules/@fullcalendar/daygrid": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-6.1.8.tgz", + "integrity": "sha512-kCZxQFKb9Vqa3CZRX0v7rMSJ2mlTt4gDpyLfiNJKxUAq7W51uKurPaFZWicaXy1ESHVBxKNlbx5uNjBpyu50JQ==", + "peerDependencies": { + "@fullcalendar/core": "~6.1.8" + } + }, + "node_modules/@fullcalendar/interaction": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.8.tgz", + "integrity": "sha512-r6W4E9ohaA87M2uPSlmpE2WT7Fzu7LN0u2pE6D/tThruCEaAPbN8Pw5+sqclsuyTIL09mg0eSJm/ggJekTabSA==", + "peerDependencies": { + "@fullcalendar/core": "~6.1.8" + } + }, + "node_modules/@fullcalendar/list": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/list/-/list-6.1.8.tgz", + "integrity": "sha512-10N0T/vCtId1cE3JGLpnbAivWVnaWCCkVO7wmbsyr5Y+I939kr/zq4BUNwBoP/xSFVVxx59FETh3iyA+MkV8Fw==", + "peerDependencies": { + "@fullcalendar/core": "~6.1.8" + } + }, + "node_modules/@fullcalendar/react": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/react/-/react-6.1.8.tgz", + "integrity": "sha512-E8GQSQyZHkjpwxQW5Vci7iZgN7f33ntuRcvfGii4Fn35t9VHGz2SEyKAWXpVf38elcKTZKVgajU9ipStd+1LEg==", + "peerDependencies": { + "@fullcalendar/core": "~6.1.8", + "react": "^16.7.0 || ^17 || ^18", + "react-dom": "^16.7.0 || ^17 || ^18" + } + }, + "node_modules/@fullcalendar/timegrid": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/timegrid/-/timegrid-6.1.8.tgz", + "integrity": "sha512-3+3KHHCoNcaLs/gQt004hAqICbY5+WAffrZ0ePv+80HFB1OVh8BQ5XXLHSOUbTvXdgtUTcfBHuw9fhO31kt5gA==", + "dependencies": { + "@fullcalendar/daygrid": "~6.1.8" + }, + "peerDependencies": { + "@fullcalendar/core": "~6.1.8" + } + }, + "node_modules/@fullcalendar/vue3": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/vue3/-/vue3-6.1.8.tgz", + "integrity": "sha512-rO7vZnGXyd5djOhpJ9Y33PhnUeJ/1IN1rIVWPWpleh1hboi8kCwVqE47oOwj7NvTEJq1EH8/58UuYtIqRQ73Lg==", + "peerDependencies": { + "@fullcalendar/core": "~6.1.8", + "vue": "^3.0.11" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@quasar/extras": { + "version": "1.16.4", + "resolved": "https://registry.npmjs.org/@quasar/extras/-/extras-1.16.4.tgz", + "integrity": "sha512-q2kPTNHI5aprgE2yQfRIf6aud+qSXH3YTNmhcfRp/rENh7kRjoM+b5BBPxgHlO1si1ARddbmr+Fxu/L05hfXnQ==", + "funding": { + "type": "github", + "url": "https://donate.quasar.dev" + } + }, + "node_modules/@quasar/vite-plugin": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@quasar/vite-plugin/-/vite-plugin-1.3.3.tgz", + "integrity": "sha512-HSX/Vgec5/Y8fiJRfpf1MR7+um+rdpbilktBGQkYOKw4A9d0smGq4jtSS/K4O2GTXRYqDmZ/5sgCeBcmhB3OCw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://donate.quasar.dev" + }, + "peerDependencies": { + "@vitejs/plugin-vue": "^2.0.0 || ^3.0.0 || ^4.0.0", + "quasar": "^2.8.0", + "vite": "^2.0.0 || ^3.0.0 || ^4.0.0", + "vue": "^3.0.0" + } + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.0.tgz", + "integrity": "sha512-IthPJsJR85GhOkp3Hvp8zFOPK5ynKn6STyHa/WZpioK7E1aYDiBzpqQPrngc14DszIUkIrdd3k9Iu0XSzlP/1w==", + "dev": true + }, + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/chai": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", + "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", + "dev": true + }, + "node_modules/@types/chai-subset": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz", + "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==", + "dev": true, + "dependencies": { + "@types/chai": "*" + } + }, + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.16.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.16.tgz", + "integrity": "sha512-NpaM49IGQQAUlBhHMF82QH80J08os4ZmyF9MkpCzWAGuOHqE4gTEbhzd7L3l5LmWuZ6E0OiC1FweQ4tsiW35+g==", + "dev": true + }, + "node_modules/@types/raf": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.0.tgz", + "integrity": "sha512-taW5/WYqo36N7V39oYyHP9Ipfd5pNFvGTIQsNGj86xV88YQ7GnI30/yMfKDF7Zgin0m3e+ikX88FvImnK4RjGw==", + "optional": true + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "node_modules/@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true + }, + "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.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.8.tgz", + "integrity": "sha512-JDMOmhXteJ4WVKOiHXGCoB96ADWg9q7efPWHRViT/f09bA8XOMLAVHHju3l0MkZnG1izaWXYmgvQcUjTRcpShQ==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.8", + "@typescript-eslint/type-utils": "5.59.8", + "@typescript-eslint/utils": "5.59.8", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "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", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.8.tgz", + "integrity": "sha512-AnR19RjJcpjoeGojmwZtCwBX/RidqDZtzcbG3xHrmz0aHHoOcbWnpDllenRDmDvsV0RQ6+tbb09/kyc+UT9Orw==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.59.8", + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/typescript-estree": "5.59.8", + "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.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.8.tgz", + "integrity": "sha512-/w08ndCYI8gxGf+9zKf1vtx/16y8MHrZs5/tnjHhMLNSixuNcJavSX4wAiPf4aS5x41Es9YPCn44MIe4cxIlig==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/visitor-keys": "5.59.8" + }, + "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.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.8.tgz", + "integrity": "sha512-+5M518uEIHFBy3FnyqZUF3BMP+AXnYn4oyH8RF012+e7/msMY98FhGL5SrN29NQ9xDgvqCgYnsOiKp1VjZ/fpA==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.59.8", + "@typescript-eslint/utils": "5.59.8", + "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.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.8.tgz", + "integrity": "sha512-+uWuOhBTj/L6awoWIg0BlWy0u9TyFpCHrAuQ5bNfxDaZ1Ppb3mx6tUigc74LHcbHpOHuOTOJrBoAnhdHdaea1w==", + "dev": true, + "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.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.8.tgz", + "integrity": "sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/visitor-keys": "5.59.8", + "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", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.8.tgz", + "integrity": "sha512-Tr65630KysnNn9f9G7ROF3w1b5/7f6QVCJ+WK9nhIocWmx9F+TmCAcglF26Vm7z8KCTwoKcNEBZrhlklla3CKg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.8", + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/typescript-estree": "5.59.8", + "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/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.8.tgz", + "integrity": "sha512-pJhi2ms0x0xgloT7xYabil3SGGlojNNKjK/q6dB3Ey0uJLMjK2UDGJvHieiyJVW/7C3KI+Z4Q3pEHkm4ejA+xQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.8", + "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/@vitejs/plugin-vue": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", + "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitejs/plugin-vue-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.0.1.tgz", + "integrity": "sha512-+Jb7ggL48FSPS1uhPnJbJwWa9Sr90vQ+d0InW+AhBM22n+cfuYqJZDckBc+W3QSHe1WDvewMZfa4wZOtk5pRgw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.7", + "@babel/plugin-transform-typescript": "^7.20.7", + "@vue/babel-plugin-jsx": "^1.1.1" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.0.0" + } + }, + "node_modules/@volar/language-core": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.4.1.tgz", + "integrity": "sha512-EIY+Swv+TjsWpxOxujjMf1ZXqOjg9MT2VMXZ+1dKva0wD8W0L6EtptFFcCJdBbcKmGMFkr57Qzz9VNMWhs3jXQ==", + "dev": true, + "dependencies": { + "@volar/source-map": "1.4.1" + } + }, + "node_modules/@volar/source-map": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.4.1.tgz", + "integrity": "sha512-bZ46ad72dsbzuOWPUtJjBXkzSQzzSejuR3CT81+GvTEI2E994D8JPXzM3tl98zyCNnjgs4OkRyliImL1dvJ5BA==", + "dev": true, + "dependencies": { + "muggle-string": "^0.2.2" + } + }, + "node_modules/@volar/typescript": { + "version": "1.4.1-patch.2", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.4.1-patch.2.tgz", + "integrity": "sha512-lPFYaGt8OdMEzNGJJChF40uYqMO4Z/7Q9fHPQC/NRVtht43KotSXLrkPandVVMf9aPbiJ059eAT+fwHGX16k4w==", + "dev": true, + "dependencies": { + "@volar/language-core": "1.4.1" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/@volar/vue-language-core": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-1.6.5.tgz", + "integrity": "sha512-IF2b6hW4QAxfsLd5mePmLgtkXzNi+YnH6ltCd80gb7+cbdpFMjM1I+w+nSg2kfBTyfu+W8useCZvW89kPTBpzg==", + "dev": true, + "dependencies": { + "@volar/language-core": "1.4.1", + "@volar/source-map": "1.4.1", + "@vue/compiler-dom": "^3.3.0", + "@vue/compiler-sfc": "^3.3.0", + "@vue/reactivity": "^3.3.0", + "@vue/shared": "^3.3.0", + "minimatch": "^9.0.0", + "muggle-string": "^0.2.2", + "vue-template-compiler": "^2.7.14" + } + }, + "node_modules/@volar/vue-language-core/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@volar/vue-language-core/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@volar/vue-typescript": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-1.6.5.tgz", + "integrity": "sha512-er9rVClS4PHztMUmtPMDTl+7c7JyrxweKSAEe/o/Noeq2bQx6v3/jZHVHBe8ZNUti5ubJL/+Tg8L3bzmlalV8A==", + "dev": true, + "dependencies": { + "@volar/typescript": "1.4.1-patch.2", + "@volar/vue-language-core": "1.6.5" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", + "dev": true + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", + "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", + "dependencies": { + "@babel/parser": "^7.21.3", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", + "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", + "dependencies": { + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", + "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-ssr": "3.3.4", + "@vue/reactivity-transform": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0", + "postcss": "^8.1.10", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", + "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", + "dependencies": { + "@vue/compiler-dom": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + }, + "node_modules/@vue/eslint-config-prettier": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz", + "integrity": "sha512-Pv/lVr0bAzSIHLd9iz0KnvAr4GKyCEl+h52bc4e5yWuDVtLgFwycF7nrbWTAQAS+FU6q1geVd07lc6EWfJiWKQ==", + "dev": true, + "dependencies": { + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0" + }, + "peerDependencies": { + "eslint": ">= 7.28.0", + "prettier": ">= 2.0.0" + } + }, + "node_modules/@vue/eslint-config-typescript": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.3.tgz", + "integrity": "sha512-dkt6W0PX6H/4Xuxg/BlFj5xHvksjpSlVjtkQCpaYJBIEuKj2hOVU7r+TIe+ysCwRYFz/lGqvklntRkCAibsbPw==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "^5.59.1", + "@typescript-eslint/parser": "^5.59.1", + "vue-eslint-parser": "^9.1.1" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0", + "eslint-plugin-vue": "^9.0.0", + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", + "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", + "dependencies": { + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", + "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", + "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", + "dependencies": { + "@vue/reactivity": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", + "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", + "dependencies": { + "@vue/runtime-core": "3.3.4", + "@vue/shared": "3.3.4", + "csstype": "^3.1.1" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", + "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", + "dependencies": { + "@vue/compiler-ssr": "3.3.4", + "@vue/shared": "3.3.4" + }, + "peerDependencies": { + "vue": "3.3.4" + } + }, + "node_modules/@vue/shared": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", + "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" + }, + "node_modules/@vue/test-utils": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.3.2.tgz", + "integrity": "sha512-hJnVaYhbrIm0yBS0+e1Y0Sj85cMyAi+PAbK4JHqMRUZ6S622Goa+G7QzkRSyvCteG8wop7tipuEbHoZo26wsSA==", + "dev": true, + "dependencies": { + "js-beautify": "1.14.6" + }, + "optionalDependencies": { + "@vue/compiler-dom": "^3.0.1", + "@vue/server-renderer": "^3.0.1" + }, + "peerDependencies": { + "@vue/compiler-dom": "^3.0.1", + "@vue/server-renderer": "^3.0.1", + "vue": "^3.0.1" + } + }, + "node_modules/@vue/tsconfig": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.1.3.tgz", + "integrity": "sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==", + "dev": true, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@vuepic/vue-datepicker": { + "version": "3.6.8", + "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-3.6.8.tgz", + "integrity": "sha512-9c6gfy2SYHunyH36m12NzLy+6fccTFf58zG/VAVo5inVedVisz3M0grw7fw77uMP1531MtIibmeq9C5SNUXxkw==", + "dependencies": { + "date-fns": "^2.29.3", + "date-fns-tz": "^1.3.7" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "vue": ">=3.2.0" + } + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/amator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/amator/-/amator-1.1.0.tgz", + "integrity": "sha512-V5+aH8pe+Z3u/UG3L3pG3BaFQGXAyXHVQDroRwjPHdh08bcUEchAVsU1MCuJSCaU5o60wTK6KaE6te5memzgYw==", + "dependencies": { + "bezier-easing": "^2.0.3" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bezier-easing": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", + "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bma-org-chart": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/bma-org-chart/-/bma-org-chart-0.0.7.tgz", + "integrity": "sha512-YA8KoGRd42s2OtDzjcKCCEl1NLlFKCiyeU2UAuzUx4pPBFSpZDpDljyeGffDj0bfE7bKLw39xZIDZ2N04uDcww==", + "dependencies": { + "html2canvas": "^1.4.1", + "jspdf": "^2.5.1", + "pinia": "^2.0.32", + "vue": "^3.2.47" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz", + "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", + "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" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001489", + "electron-to-chromium": "^1.4.411", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "bin": { + "btoa": "bin/btoa.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-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/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001492", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", + "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==", + "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" + } + ] + }, + "node_modules/canvg": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.10.tgz", + "integrity": "sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==", + "optional": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/config-chain/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/core-js": { + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.2.tgz", + "integrity": "sha512-uBJiDmwqsbJCWHAwjrx3cvjbMXP7xD72Dmsn5LOJpiRmE3WbBbN5rCqQ2Qh6Ek6/eOrjlWngEynBWo4VxerQhg==", + "hasInstallScript": true, + "optional": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "dependencies": { + "utrie": "^1.0.2" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/cypress": { + "version": "12.13.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.13.0.tgz", + "integrity": "sha512-QJlSmdPk+53Zhy69woJMySZQJoWfEWun3X5OOenGsXjRPVfByVTHorxNehbzhZrEzH9RDUDqVcck0ahtlS+N/Q==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^6.2.1", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.8", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, + "engines": { + "node": "^14.0.0 || ^16.0.0 || >=18.0.0" + } + }, + "node_modules/cypress/node_modules/@types/node": { + "version": "14.18.48", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.48.tgz", + "integrity": "sha512-iL0PIMwejpmuVHgfibHpfDwOdsbmB50wr21X71VnF5d7SsBF7WK+ZvP/SCcFm7Iwb9iiYSap9rlrdhToNAWdxg==", + "dev": true + }, + "node_modules/cypress/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cypress/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cypress/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cypress/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cypress/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/cypress/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cypress/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cypress/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cypress/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/cypress/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, + "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/date-fns-tz": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-1.3.8.tgz", + "integrity": "sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==", + "peerDependencies": { + "date-fns": ">=2.0.0" + } + }, + "node_modules/dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dev": true, + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dompurify": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.5.tgz", + "integrity": "sha512-jggCCd+8Iqp4Tsz0nIvpcb22InKEBrGz5dw3EQJMs8HPJDsKbFIO3STYtAvCfDx26Muevn1MHVI0XxjgFfmiSA==", + "optional": true + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "dev": true, + "dependencies": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "bin": { + "editorconfig": "bin/editorconfig" + } + }, + "node_modules/editorconfig/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/editorconfig/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/editorconfig/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/editorconfig/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.416", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.416.tgz", + "integrity": "sha512-AUYh0XDTb2vrj0rj82jb3P9hHSyzQNdTPYWZIhPdCOui7/vpme7+HTE07BE5jwuqg/34TZ8ktlRz6GImJ4IXjA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "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.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", + "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.41.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "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.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-cypress": { + "version": "2.13.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.13.3.tgz", + "integrity": "sha512-nAPjZE5WopCsgJwl3vHm5iafpV+ZRO76Z9hMyRygWhmg5ODXDPd+9MaPl7kdJ2azj+sO87H3P1PRnggIrz848g==", + "dev": true, + "dependencies": { + "globals": "^11.12.0" + }, + "peerDependencies": { + "eslint": ">= 3.2.1" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "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-vue": { + "version": "9.14.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.14.1.tgz", + "integrity": "sha512-LQazDB1qkNEKejLe/b5a9VfEbtbczcOaui5lQ4Qw0tbRBbQYREyxxOV5BQgNDTqGPs9pxqiEpbMi9ywuIaF7vw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.3.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^9.3.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-vue/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-vue/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-vue/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/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/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "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/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "dev": true, + "dependencies": { + "acorn": "^8.8.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", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "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/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/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/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "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/fflate": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", + "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==" + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "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-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "dependencies": { + "async": "^3.2.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "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/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "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-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "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-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "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.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "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/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/joi": { + "version": "17.9.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", + "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-beautify": { + "version": "1.14.6", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.6.tgz", + "integrity": "sha512-GfofQY5zDp+cuHc+gsEXKPpNw2KbPddreEo35O6jT6i0RVK6LhsoYBhq5TvK4/n74wnA0QbK8gGd+jUZwTMKJw==", + "dev": true, + "dependencies": { + "config-chain": "^1.1.13", + "editorconfig": "^0.15.3", + "glob": "^8.0.3", + "nopt": "^6.0.0" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-sha256": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", + "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, + "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/jsdom/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/tough-cookie": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsdom/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jspdf": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-2.5.1.tgz", + "integrity": "sha512-hXObxz7ZqoyhxET78+XR34Xu2qFGrJJ2I2bE5w4SM8eFaFEkW2xcGRVUss360fYelwRSid/jT078kbNvmoW0QA==", + "dependencies": { + "@babel/runtime": "^7.14.0", + "atob": "^2.1.2", + "btoa": "^1.2.1", + "fflate": "^0.4.8" + }, + "optionalDependencies": { + "canvg": "^3.0.6", + "core-js": "^3.6.0", + "dompurify": "^2.2.0", + "html2canvas": "^1.0.0-rc.5" + } + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/keycloak-js": { + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/keycloak-js/-/keycloak-js-20.0.5.tgz", + "integrity": "sha512-7+M5Uni4oNlAmbjM/lDJzFHu2+PGqU6/bvmTBuQssE1fJ7ZyNeCRHgFoaVfFpIU3m6aAFwPUko4lVcn4kPXP5Q==", + "dependencies": { + "base64-js": "^1.5.1", + "js-sha256": "^0.9.0" + } + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, + "engines": { + "node": "> 0.8" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-update/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", + "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", + "dev": true + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/muggle-string": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.2.2.tgz", + "integrity": "sha512-YVE1mIJ4VpUMqZObFndk9CJu6DBJR/GB13p3tXuNbwD4XExaI5EOuRl6BHeIDxIqXZVxSfAC+y6U1Z/IxCfKUg==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/ngraph.events": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ngraph.events/-/ngraph.events-1.2.2.tgz", + "integrity": "sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ==" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true + }, + "node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm-run-all/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/npm-run-all/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm-run-all/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.5.tgz", + "integrity": "sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==", + "dev": true + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "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/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/panzoom": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/panzoom/-/panzoom-9.4.3.tgz", + "integrity": "sha512-xaxCpElcRbQsUtIdwlrZA90P90+BHip4Vda2BC8MEb4tkI05PmR6cKECdqUCZ85ZvBHjpI9htJrZBxV5Gp/q/w==", + "dependencies": { + "amator": "^1.1.0", + "ngraph.events": "^1.2.2", + "wheel": "^1.0.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", + "dev": true, + "dependencies": { + "through": "~2.3" + } + }, + "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/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "devOptional": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinia": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.3.tgz", + "integrity": "sha512-XNA/z/ye4P5rU1pieVmh0g/hSuDO98/a5UC8oSP0DNdvt6YtetJNHTrXwpwsQuflkGT34qKxAEcp7lSxXNjf/A==", + "dependencies": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": ">=0.14.5" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.3.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", + "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/postcss": { + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/preact": { + "version": "10.12.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.12.1.tgz", + "integrity": "sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true + }, + "node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "node_modules/ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "dependencies": { + "event-stream": "=3.3.4" + }, + "bin": { + "ps-tree": "bin/ps-tree.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/quasar": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/quasar/-/quasar-2.12.0.tgz", + "integrity": "sha512-B8xoeOWNs/Iv7M+FGRvXGYI1qDnJH8AtIb7RiP+zMfMkBcEp+6HJHU/9ODPemC4yteDjO+HPX2f7OhNZKgsPIw==", + "engines": { + "node": ">= 10.18.1", + "npm": ">= 6.13.4", + "yarn": ">= 1.21.1" + }, + "funding": { + "type": "github", + "url": "https://donate.quasar.dev" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "optional": true, + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "dependencies": { + "throttleit": "^1.0.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "optional": true, + "engines": { + "node": ">= 0.8.15" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.23.0.tgz", + "integrity": "sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.62.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", + "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "node_modules/split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stackblur-canvas": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.5.0.tgz", + "integrity": "sha512-EeNzTVfj+1In7aSLPKDD03F/ly4RxEuF/EX0YcOG0cKoPXs+SLZxDawQbexQDBzwROs4VKLWTOaZQlZkGBFEIQ==", + "optional": true, + "engines": { + "node": ">=0.1.14" + } + }, + "node_modules/start-server-and-test": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-1.15.4.tgz", + "integrity": "sha512-ucQtp5+UCr0m4aHlY+aEV2JSYNTiMZKdSKK/bsIr6AlmwAWDYDnV7uGlWWEtWa7T4XvRI5cPYcPcQgeLqpz+Tg==", + "dev": true, + "dependencies": { + "arg": "^5.0.2", + "bluebird": "3.7.2", + "check-more-types": "2.24.0", + "debug": "4.3.4", + "execa": "5.1.1", + "lazy-ass": "1.6.0", + "ps-tree": "1.2.0", + "wait-on": "7.0.1" + }, + "bin": { + "server-test": "src/bin/start.js", + "start-server-and-test": "src/bin/start.js", + "start-test": "src/bin/start.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/start-server-and-test/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/start-server-and-test/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/start-server-and-test/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.padend": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz", + "integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz", + "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==", + "dev": true, + "dependencies": { + "acorn": "^8.8.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/structure-chart": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/structure-chart/-/structure-chart-0.0.9.tgz", + "integrity": "sha512-/nQWh0OaMY5vm6MFKxQIBE4TOrV73CR4zXa5JuAojpTi5BTgWhmd9ozWBcf/gkSGT3T4AIGpFeLhwyimbmLnYg==", + "dependencies": { + "html2canvas": "^1.4.1", + "jspdf": "^2.5.1", + "panzoom": "^9.4.3", + "pinia": "^2.0.32", + "vue": "^3.2.47" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "optional": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "dependencies": { + "utrie": "^1.0.2" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tinybench": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz", + "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==", + "dev": true + }, + "node_modules/tinypool": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.1.tgz", + "integrity": "sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-1.1.1.tgz", + "integrity": "sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "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", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "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": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "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/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "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" + } + ], + "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", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "dependencies": { + "base64-arraybuffer": "^1.0.2" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vite": { + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", + "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", + "dev": true, + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitest": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.8.tgz", + "integrity": "sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg==", + "dev": true, + "dependencies": { + "@types/chai": "^4.3.4", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "acorn": "^8.8.1", + "acorn-walk": "^8.2.0", + "chai": "^4.3.7", + "debug": "^4.3.4", + "local-pkg": "^0.4.2", + "source-map": "^0.6.1", + "strip-literal": "^1.0.0", + "tinybench": "^2.3.1", + "tinypool": "^0.3.0", + "tinyspy": "^1.0.2", + "vite": "^3.0.0 || ^4.0.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": ">=v14.16.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@vitest/browser": "*", + "@vitest/ui": "*", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", + "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", + "dependencies": { + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-sfc": "3.3.4", + "@vue/runtime-dom": "3.3.4", + "@vue/server-renderer": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/vue-eslint-parser": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.0.tgz", + "integrity": "sha512-48IxT9d0+wArT1+3wNIy0tascRoywqSUe2E1YalIC1L8jsUGe5aJQItWfRok7DVFGz3UYvzEI7n5wiTXsCMAcQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "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/vue-eslint-parser/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-eslint-parser/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-eslint-parser/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/vue-router": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.2.tgz", + "integrity": "sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==", + "dependencies": { + "@vue/devtools-api": "^6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-table-to-excel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/vue-table-to-excel/-/vue-table-to-excel-1.0.6.tgz", + "integrity": "sha512-1s8+TiPO/Q6IgVicSVAGuhL30V8qsQOaVW1zX/3ZC+mD814eYojETE6KB7ToeaiaHqG/PYm+WMasaDLZyNJvLA==", + "dev": true + }, + "node_modules/vue-template-compiler": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", + "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.6.5.tgz", + "integrity": "sha512-Wtw3J7CC+JM2OR56huRd5iKlvFWpvDiU+fO1+rqyu4V2nMTotShz4zbOZpW5g9fUOcjnyZYfBo5q5q+D/q27JA==", + "dev": true, + "dependencies": { + "@volar/vue-language-core": "1.6.5", + "@volar/vue-typescript": "1.6.5", + "semver": "^7.3.8" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/vue-tsc/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-tsc/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-tsc/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/vue3-datepicker": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/vue3-datepicker/-/vue3-datepicker-0.3.4.tgz", + "integrity": "sha512-pD4Lixnqdr6KeIO/ZK/xdmhYDQUvMPHgTeWkNYeAx5sKY4eaNItOqbLuevwI51d3ubozhNS1y+Z8Enxi33pXiQ==", + "dependencies": { + "date-fns": "^2.22.1" + }, + "engines": { + "node": ">=10.16.0" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/wait-on": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.0.1.tgz", + "integrity": "sha512-9AnJE9qTjRQOlTZIldAaf/da2eW0eSRSgcqq85mXQja/DW3MriHxkpODDSUEg+Gri/rKEcXUZHe+cevvYItaog==", + "dev": true, + "dependencies": { + "axios": "^0.27.2", + "joi": "^17.7.0", + "lodash": "^4.17.21", + "minimist": "^1.2.7", + "rxjs": "^7.8.0" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/wheel": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wheel/-/wheel-1.0.0.tgz", + "integrity": "sha512-XiCMHibOiqalCQ+BaNSwRoZ9FDTAvOsXxGHXChBugewDj7HC8VBIER71dEOiRH1fSdLbRCQzngKTSiZ06ZQzeA==" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "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-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "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", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "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/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "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/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz", + "integrity": "sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==", + "dev": true + }, + "@babel/core": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.1.tgz", + "integrity": "sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.0", + "@babel/helper-compilation-targets": "^7.22.1", + "@babel/helper-module-transforms": "^7.22.1", + "@babel/helpers": "^7.22.0", + "@babel/parser": "^7.22.0", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.3.tgz", + "integrity": "sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==", + "dev": true, + "requires": { + "@babel/types": "^7.22.3", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz", + "integrity": "sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.0", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.1.tgz", + "integrity": "sha512-SowrZ9BWzYFgzUMwUmowbPSGu6CXL5MSuuCkG3bejahSpSymioPmuLdhPxNOc9MjuNGjy7M/HaXvJ8G82Lywlw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.22.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.22.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6", + "semver": "^6.3.0" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz", + "integrity": "sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.3.tgz", + "integrity": "sha512-Gl7sK04b/2WOb6OPVeNy9eFKeD3L6++CzL3ykPOWqTn08xgYYK0wz4TUh2feIImDXxcVW3/9WQ1NMKY66/jfZA==", + "dev": true, + "requires": { + "@babel/types": "^7.22.3" + } + }, + "@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dev": true, + "requires": { + "@babel/types": "^7.21.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz", + "integrity": "sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.1.tgz", + "integrity": "sha512-ut4qrkE4AuSfrwHSps51ekR1ZY/ygrP1tp0WFm8oVq6nzc/hvfV/22JylndIbsf2U2M9LOMwiSddr6y+78j+OQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-member-expression-to-functions": "^7.22.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "dev": true, + "requires": { + "@babel/types": "^7.21.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true + }, + "@babel/helpers": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.3.tgz", + "integrity": "sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==", + "dev": true, + "requires": { + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.3" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz", + "integrity": "sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==" + }, + "@babel/plugin-syntax-jsx": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", + "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", + "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.3.tgz", + "integrity": "sha512-pyjnCIniO5PNaEuGxT28h0HbMru3qCVrMqVgVOz/krComdIrY9W6FCLBq9NWHY8HDGaUlan+UhmZElDENIfCcw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.22.1", + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/plugin-syntax-typescript": "^7.21.4" + } + }, + "@babel/runtime": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.3.tgz", + "integrity": "sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" + } + }, + "@babel/traverse": { + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.4.tgz", + "integrity": "sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.3", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.22.4", + "@babel/types": "^7.22.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.4.tgz", + "integrity": "sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true + }, + "@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + } + }, + "@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "dev": true, + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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" + }, + "dependencies": { + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "@eslint/js": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", + "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", + "dev": true + }, + "@fullcalendar/core": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.8.tgz", + "integrity": "sha512-i8JBIvZCWGO9dsMEDcx9bnsQZ9PtGSJdOXGgWbhLaGq2iq41OBdp9g9gM4b/Otv2oK8bL5Gl6CsMmb/HkDtA6Q==", + "requires": { + "preact": "~10.12.1" + } + }, + "@fullcalendar/daygrid": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-6.1.8.tgz", + "integrity": "sha512-kCZxQFKb9Vqa3CZRX0v7rMSJ2mlTt4gDpyLfiNJKxUAq7W51uKurPaFZWicaXy1ESHVBxKNlbx5uNjBpyu50JQ==", + "requires": {} + }, + "@fullcalendar/interaction": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.8.tgz", + "integrity": "sha512-r6W4E9ohaA87M2uPSlmpE2WT7Fzu7LN0u2pE6D/tThruCEaAPbN8Pw5+sqclsuyTIL09mg0eSJm/ggJekTabSA==", + "requires": {} + }, + "@fullcalendar/list": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/list/-/list-6.1.8.tgz", + "integrity": "sha512-10N0T/vCtId1cE3JGLpnbAivWVnaWCCkVO7wmbsyr5Y+I939kr/zq4BUNwBoP/xSFVVxx59FETh3iyA+MkV8Fw==", + "requires": {} + }, + "@fullcalendar/react": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/react/-/react-6.1.8.tgz", + "integrity": "sha512-E8GQSQyZHkjpwxQW5Vci7iZgN7f33ntuRcvfGii4Fn35t9VHGz2SEyKAWXpVf38elcKTZKVgajU9ipStd+1LEg==", + "requires": {} + }, + "@fullcalendar/timegrid": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/timegrid/-/timegrid-6.1.8.tgz", + "integrity": "sha512-3+3KHHCoNcaLs/gQt004hAqICbY5+WAffrZ0ePv+80HFB1OVh8BQ5XXLHSOUbTvXdgtUTcfBHuw9fhO31kt5gA==", + "requires": { + "@fullcalendar/daygrid": "~6.1.8" + } + }, + "@fullcalendar/vue3": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@fullcalendar/vue3/-/vue3-6.1.8.tgz", + "integrity": "sha512-rO7vZnGXyd5djOhpJ9Y33PhnUeJ/1IN1rIVWPWpleh1hboi8kCwVqE47oOwj7NvTEJq1EH8/58UuYtIqRQ73Lg==", + "requires": {} + }, + "@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@quasar/extras": { + "version": "1.16.4", + "resolved": "https://registry.npmjs.org/@quasar/extras/-/extras-1.16.4.tgz", + "integrity": "sha512-q2kPTNHI5aprgE2yQfRIf6aud+qSXH3YTNmhcfRp/rENh7kRjoM+b5BBPxgHlO1si1ARddbmr+Fxu/L05hfXnQ==" + }, + "@quasar/vite-plugin": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@quasar/vite-plugin/-/vite-plugin-1.3.3.tgz", + "integrity": "sha512-HSX/Vgec5/Y8fiJRfpf1MR7+um+rdpbilktBGQkYOKw4A9d0smGq4jtSS/K4O2GTXRYqDmZ/5sgCeBcmhB3OCw==", + "dev": true, + "requires": {} + }, + "@rushstack/eslint-patch": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.0.tgz", + "integrity": "sha512-IthPJsJR85GhOkp3Hvp8zFOPK5ynKn6STyHa/WZpioK7E1aYDiBzpqQPrngc14DszIUkIrdd3k9Iu0XSzlP/1w==", + "dev": true + }, + "@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "@types/chai": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", + "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", + "dev": true + }, + "@types/chai-subset": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz", + "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==", + "dev": true, + "requires": { + "@types/chai": "*" + } + }, + "@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "@types/node": { + "version": "18.16.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.16.tgz", + "integrity": "sha512-NpaM49IGQQAUlBhHMF82QH80J08os4ZmyF9MkpCzWAGuOHqE4gTEbhzd7L3l5LmWuZ6E0OiC1FweQ4tsiW35+g==", + "dev": true + }, + "@types/raf": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.0.tgz", + "integrity": "sha512-taW5/WYqo36N7V39oYyHP9Ipfd5pNFvGTIQsNGj86xV88YQ7GnI30/yMfKDF7Zgin0m3e+ikX88FvImnK4RjGw==", + "optional": true + }, + "@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true + }, + "@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, + "requires": { + "@types/node": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.8.tgz", + "integrity": "sha512-JDMOmhXteJ4WVKOiHXGCoB96ADWg9q7efPWHRViT/f09bA8XOMLAVHHju3l0MkZnG1izaWXYmgvQcUjTRcpShQ==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.8", + "@typescript-eslint/type-utils": "5.59.8", + "@typescript-eslint/utils": "5.59.8", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/parser": { + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.8.tgz", + "integrity": "sha512-AnR19RjJcpjoeGojmwZtCwBX/RidqDZtzcbG3xHrmz0aHHoOcbWnpDllenRDmDvsV0RQ6+tbb09/kyc+UT9Orw==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.8", + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/typescript-estree": "5.59.8", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.8.tgz", + "integrity": "sha512-/w08ndCYI8gxGf+9zKf1vtx/16y8MHrZs5/tnjHhMLNSixuNcJavSX4wAiPf4aS5x41Es9YPCn44MIe4cxIlig==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/visitor-keys": "5.59.8" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.8.tgz", + "integrity": "sha512-+5M518uEIHFBy3FnyqZUF3BMP+AXnYn4oyH8RF012+e7/msMY98FhGL5SrN29NQ9xDgvqCgYnsOiKp1VjZ/fpA==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.8", + "@typescript-eslint/utils": "5.59.8", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.8.tgz", + "integrity": "sha512-+uWuOhBTj/L6awoWIg0BlWy0u9TyFpCHrAuQ5bNfxDaZ1Ppb3mx6tUigc74LHcbHpOHuOTOJrBoAnhdHdaea1w==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.8.tgz", + "integrity": "sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/visitor-keys": "5.59.8", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/utils": { + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.8.tgz", + "integrity": "sha512-Tr65630KysnNn9f9G7ROF3w1b5/7f6QVCJ+WK9nhIocWmx9F+TmCAcglF26Vm7z8KCTwoKcNEBZrhlklla3CKg==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.8", + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/typescript-estree": "5.59.8", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.8.tgz", + "integrity": "sha512-pJhi2ms0x0xgloT7xYabil3SGGlojNNKjK/q6dB3Ey0uJLMjK2UDGJvHieiyJVW/7C3KI+Z4Q3pEHkm4ejA+xQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.8", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@vitejs/plugin-vue": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", + "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", + "dev": true, + "requires": {} + }, + "@vitejs/plugin-vue-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.0.1.tgz", + "integrity": "sha512-+Jb7ggL48FSPS1uhPnJbJwWa9Sr90vQ+d0InW+AhBM22n+cfuYqJZDckBc+W3QSHe1WDvewMZfa4wZOtk5pRgw==", + "dev": true, + "requires": { + "@babel/core": "^7.20.7", + "@babel/plugin-transform-typescript": "^7.20.7", + "@vue/babel-plugin-jsx": "^1.1.1" + } + }, + "@volar/language-core": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.4.1.tgz", + "integrity": "sha512-EIY+Swv+TjsWpxOxujjMf1ZXqOjg9MT2VMXZ+1dKva0wD8W0L6EtptFFcCJdBbcKmGMFkr57Qzz9VNMWhs3jXQ==", + "dev": true, + "requires": { + "@volar/source-map": "1.4.1" + } + }, + "@volar/source-map": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.4.1.tgz", + "integrity": "sha512-bZ46ad72dsbzuOWPUtJjBXkzSQzzSejuR3CT81+GvTEI2E994D8JPXzM3tl98zyCNnjgs4OkRyliImL1dvJ5BA==", + "dev": true, + "requires": { + "muggle-string": "^0.2.2" + } + }, + "@volar/typescript": { + "version": "1.4.1-patch.2", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.4.1-patch.2.tgz", + "integrity": "sha512-lPFYaGt8OdMEzNGJJChF40uYqMO4Z/7Q9fHPQC/NRVtht43KotSXLrkPandVVMf9aPbiJ059eAT+fwHGX16k4w==", + "dev": true, + "requires": { + "@volar/language-core": "1.4.1" + } + }, + "@volar/vue-language-core": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-1.6.5.tgz", + "integrity": "sha512-IF2b6hW4QAxfsLd5mePmLgtkXzNi+YnH6ltCd80gb7+cbdpFMjM1I+w+nSg2kfBTyfu+W8useCZvW89kPTBpzg==", + "dev": true, + "requires": { + "@volar/language-core": "1.4.1", + "@volar/source-map": "1.4.1", + "@vue/compiler-dom": "^3.3.0", + "@vue/compiler-sfc": "^3.3.0", + "@vue/reactivity": "^3.3.0", + "@vue/shared": "^3.3.0", + "minimatch": "^9.0.0", + "muggle-string": "^0.2.2", + "vue-template-compiler": "^2.7.14" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "@volar/vue-typescript": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-1.6.5.tgz", + "integrity": "sha512-er9rVClS4PHztMUmtPMDTl+7c7JyrxweKSAEe/o/Noeq2bQx6v3/jZHVHBe8ZNUti5ubJL/+Tg8L3bzmlalV8A==", + "dev": true, + "requires": { + "@volar/typescript": "1.4.1-patch.2", + "@volar/vue-language-core": "1.6.5" + } + }, + "@vue/babel-helper-vue-transform-on": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + } + }, + "@vue/compiler-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", + "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", + "requires": { + "@babel/parser": "^7.21.3", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", + "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", + "requires": { + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "@vue/compiler-sfc": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", + "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", + "requires": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-ssr": "3.3.4", + "@vue/reactivity-transform": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0", + "postcss": "^8.1.10", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-ssr": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", + "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", + "requires": { + "@vue/compiler-dom": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + }, + "@vue/eslint-config-prettier": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz", + "integrity": "sha512-Pv/lVr0bAzSIHLd9iz0KnvAr4GKyCEl+h52bc4e5yWuDVtLgFwycF7nrbWTAQAS+FU6q1geVd07lc6EWfJiWKQ==", + "dev": true, + "requires": { + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0" + } + }, + "@vue/eslint-config-typescript": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.3.tgz", + "integrity": "sha512-dkt6W0PX6H/4Xuxg/BlFj5xHvksjpSlVjtkQCpaYJBIEuKj2hOVU7r+TIe+ysCwRYFz/lGqvklntRkCAibsbPw==", + "dev": true, + "requires": { + "@typescript-eslint/eslint-plugin": "^5.59.1", + "@typescript-eslint/parser": "^5.59.1", + "vue-eslint-parser": "^9.1.1" + } + }, + "@vue/reactivity": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", + "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", + "requires": { + "@vue/shared": "3.3.4" + } + }, + "@vue/reactivity-transform": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", + "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", + "requires": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0" + } + }, + "@vue/runtime-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", + "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", + "requires": { + "@vue/reactivity": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "@vue/runtime-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", + "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", + "requires": { + "@vue/runtime-core": "3.3.4", + "@vue/shared": "3.3.4", + "csstype": "^3.1.1" + } + }, + "@vue/server-renderer": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", + "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", + "requires": { + "@vue/compiler-ssr": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "@vue/shared": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", + "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" + }, + "@vue/test-utils": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.3.2.tgz", + "integrity": "sha512-hJnVaYhbrIm0yBS0+e1Y0Sj85cMyAi+PAbK4JHqMRUZ6S622Goa+G7QzkRSyvCteG8wop7tipuEbHoZo26wsSA==", + "dev": true, + "requires": { + "@vue/compiler-dom": "^3.0.1", + "@vue/server-renderer": "^3.0.1", + "js-beautify": "1.14.6" + } + }, + "@vue/tsconfig": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.1.3.tgz", + "integrity": "sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==", + "dev": true, + "requires": {} + }, + "@vuepic/vue-datepicker": { + "version": "3.6.8", + "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-3.6.8.tgz", + "integrity": "sha512-9c6gfy2SYHunyH36m12NzLy+6fccTFf58zG/VAVo5inVedVisz3M0grw7fw77uMP1531MtIibmeq9C5SNUXxkw==", + "requires": { + "date-fns": "^2.29.3", + "date-fns-tz": "^1.3.7" + } + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, + "requires": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "amator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/amator/-/amator-1.1.0.tgz", + "integrity": "sha512-V5+aH8pe+Z3u/UG3L3pG3BaFQGXAyXHVQDroRwjPHdh08bcUEchAVsU1MCuJSCaU5o60wTK6KaE6te5memzgYw==", + "requires": { + "bezier-easing": "^2.0.3" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dev": true, + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bezier-easing": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", + "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bma-org-chart": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/bma-org-chart/-/bma-org-chart-0.0.7.tgz", + "integrity": "sha512-YA8KoGRd42s2OtDzjcKCCEl1NLlFKCiyeU2UAuzUx4pPBFSpZDpDljyeGffDj0bfE7bKLw39xZIDZ2N04uDcww==", + "requires": { + "html2canvas": "^1.4.1", + "jspdf": "^2.5.1", + "pinia": "^2.0.32", + "vue": "^3.2.47" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz", + "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001489", + "electron-to-chromium": "^1.4.411", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + } + }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-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 + }, + "cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001492", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", + "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==", + "dev": true + }, + "canvg": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.10.tgz", + "integrity": "sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==", + "optional": true, + "requires": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "dev": true + }, + "check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + } + } + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "core-js": { + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.2.tgz", + "integrity": "sha512-uBJiDmwqsbJCWHAwjrx3cvjbMXP7xD72Dmsn5LOJpiRmE3WbBbN5rCqQ2Qh6Ek6/eOrjlWngEynBWo4VxerQhg==", + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "requires": { + "utrie": "^1.0.2" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "cypress": { + "version": "12.13.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.13.0.tgz", + "integrity": "sha512-QJlSmdPk+53Zhy69woJMySZQJoWfEWun3X5OOenGsXjRPVfByVTHorxNehbzhZrEzH9RDUDqVcck0ahtlS+N/Q==", + "dev": true, + "requires": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^6.2.1", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.8", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "@types/node": { + "version": "14.18.48", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.48.tgz", + "integrity": "sha512-iL0PIMwejpmuVHgfibHpfDwOdsbmB50wr21X71VnF5d7SsBF7WK+ZvP/SCcFm7Iwb9iiYSap9rlrdhToNAWdxg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, + "requires": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + } + }, + "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==", + "requires": { + "@babel/runtime": "^7.21.0" + } + }, + "date-fns-tz": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-1.3.8.tgz", + "integrity": "sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==", + "requires": {} + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "requires": { + "type-detect": "^4.0.0" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dev": true, + "requires": { + "webidl-conversions": "^7.0.0" + } + }, + "dompurify": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.5.tgz", + "integrity": "sha512-jggCCd+8Iqp4Tsz0nIvpcb22InKEBrGz5dw3EQJMs8HPJDsKbFIO3STYtAvCfDx26Muevn1MHVI0XxjgFfmiSA==", + "optional": true + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "dev": true, + "requires": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "electron-to-chromium": { + "version": "1.4.416", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.416.tgz", + "integrity": "sha512-AUYh0XDTb2vrj0rj82jb3P9hHSyzQNdTPYWZIhPdCOui7/vpme7+HTE07BE5jwuqg/34TZ8ktlRz6GImJ4IXjA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "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.5", + "get-intrinsic": "^1.2.0", + "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.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", + "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.41.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "requires": {} + }, + "eslint-plugin-cypress": { + "version": "2.13.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.13.3.tgz", + "integrity": "sha512-nAPjZE5WopCsgJwl3vHm5iafpV+ZRO76Z9hMyRygWhmg5ODXDPd+9MaPl7kdJ2azj+sO87H3P1PRnggIrz848g==", + "dev": true, + "requires": { + "globals": "^11.12.0" + } + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-vue": { + "version": "9.14.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.14.1.tgz", + "integrity": "sha512-LQazDB1qkNEKejLe/b5a9VfEbtbczcOaui5lQ4Qw0tbRBbQYREyxxOV5BQgNDTqGPs9pxqiEpbMi9ywuIaF7vw==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.3.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^9.3.0", + "xml-name-validator": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true + }, + "espree": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "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" + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "requires": { + "pify": "^2.2.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "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, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "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, + "requires": { + "pend": "~1.2.0" + } + }, + "fflate": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", + "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", + "dev": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "requires": { + "async": "^3.2.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "requires": { + "ini": "2.0.0" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "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" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "requires": { + "whatwg-encoding": "^2.0.0" + } + }, + "html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true + }, + "html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "requires": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + } + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "requires": { + "ci-info": "^3.2.0" + } + }, + "is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "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" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "joi": { + "version": "17.9.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", + "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "js-beautify": { + "version": "1.14.6", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.6.tgz", + "integrity": "sha512-GfofQY5zDp+cuHc+gsEXKPpNw2KbPddreEo35O6jT6i0RVK6LhsoYBhq5TvK4/n74wnA0QbK8gGd+jUZwTMKJw==", + "dev": true, + "requires": { + "config-chain": "^1.1.13", + "editorconfig": "^0.15.3", + "glob": "^8.0.3", + "nopt": "^6.0.0" + } + }, + "js-sha256": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", + "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "tough-cookie": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + } + }, + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jspdf": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-2.5.1.tgz", + "integrity": "sha512-hXObxz7ZqoyhxET78+XR34Xu2qFGrJJ2I2bE5w4SM8eFaFEkW2xcGRVUss360fYelwRSid/jT078kbNvmoW0QA==", + "requires": { + "@babel/runtime": "^7.14.0", + "atob": "^2.1.2", + "btoa": "^1.2.1", + "canvg": "^3.0.6", + "core-js": "^3.6.0", + "dompurify": "^2.2.0", + "fflate": "^0.4.8", + "html2canvas": "^1.0.0-rc.5" + } + }, + "jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "keycloak-js": { + "version": "20.0.5", + "resolved": "https://registry.npmjs.org/keycloak-js/-/keycloak-js-20.0.5.tgz", + "integrity": "sha512-7+M5Uni4oNlAmbjM/lDJzFHu2+PGqU6/bvmTBuQssE1fJ7ZyNeCRHgFoaVfFpIU3m6aAFwPUko4lVcn4kPXP5Q==", + "requires": { + "base64-js": "^1.5.1", + "js-sha256": "^0.9.0" + } + }, + "lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } + } + }, + "local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "dev": true, + "requires": { + "get-func-name": "^2.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", + "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", + "dev": true + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "muggle-string": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.2.2.tgz", + "integrity": "sha512-YVE1mIJ4VpUMqZObFndk9CJu6DBJR/GB13p3tXuNbwD4XExaI5EOuRl6BHeIDxIqXZVxSfAC+y6U1Z/IxCfKUg==", + "dev": true + }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "ngraph.events": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ngraph.events/-/ngraph.events-1.2.2.tgz", + "integrity": "sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true + }, + "nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "requires": { + "abbrev": "^1.0.0" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.5.tgz", + "integrity": "sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==", + "dev": true + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "panzoom": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/panzoom/-/panzoom-9.4.3.tgz", + "integrity": "sha512-xaxCpElcRbQsUtIdwlrZA90P90+BHip4Vda2BC8MEb4tkI05PmR6cKECdqUCZ85ZvBHjpI9htJrZBxV5Gp/q/w==", + "requires": { + "amator": "^1.1.0", + "ngraph.events": "^1.2.2", + "wheel": "^1.0.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", + "dev": true, + "requires": { + "through": "~2.3" + } + }, + "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 + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "devOptional": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pinia": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.3.tgz", + "integrity": "sha512-XNA/z/ye4P5rU1pieVmh0g/hSuDO98/a5UC8oSP0DNdvt6YtetJNHTrXwpwsQuflkGT34qKxAEcp7lSxXNjf/A==", + "requires": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": ">=0.14.5" + }, + "dependencies": { + "vue-demi": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", + "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", + "requires": {} + } + } + }, + "postcss": { + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "preact": { + "version": "10.12.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.12.1.tgz", + "integrity": "sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "requires": { + "event-stream": "=3.3.4" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "quasar": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/quasar/-/quasar-2.12.0.tgz", + "integrity": "sha512-B8xoeOWNs/Iv7M+FGRvXGYI1qDnJH8AtIb7RiP+zMfMkBcEp+6HJHU/9ODPemC4yteDjO+HPX2f7OhNZKgsPIw==" + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "optional": true, + "requires": { + "performance-now": "^2.1.0" + } + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + } + }, + "request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "optional": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "rollup": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.23.0.tgz", + "integrity": "sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass": { + "version": "1.62.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", + "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", + "dev": true, + "requires": { + "through": "2" + } + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stackblur-canvas": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.5.0.tgz", + "integrity": "sha512-EeNzTVfj+1In7aSLPKDD03F/ly4RxEuF/EX0YcOG0cKoPXs+SLZxDawQbexQDBzwROs4VKLWTOaZQlZkGBFEIQ==", + "optional": true + }, + "start-server-and-test": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-1.15.4.tgz", + "integrity": "sha512-ucQtp5+UCr0m4aHlY+aEV2JSYNTiMZKdSKK/bsIr6AlmwAWDYDnV7uGlWWEtWa7T4XvRI5cPYcPcQgeLqpz+Tg==", + "dev": true, + "requires": { + "arg": "^5.0.2", + "bluebird": "3.7.2", + "check-more-types": "2.24.0", + "debug": "4.3.4", + "execa": "5.1.1", + "lazy-ass": "1.6.0", + "ps-tree": "1.2.0", + "wait-on": "7.0.1" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + } + } + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.padend": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz", + "integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "strip-literal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz", + "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==", + "dev": true, + "requires": { + "acorn": "^8.8.2" + } + }, + "structure-chart": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/structure-chart/-/structure-chart-0.0.9.tgz", + "integrity": "sha512-/nQWh0OaMY5vm6MFKxQIBE4TOrV73CR4zXa5JuAojpTi5BTgWhmd9ozWBcf/gkSGT3T4AIGpFeLhwyimbmLnYg==", + "requires": { + "html2canvas": "^1.4.1", + "jspdf": "^2.5.1", + "panzoom": "^9.4.3", + "pinia": "^2.0.32", + "vue": "^3.2.47" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "optional": true + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "requires": { + "utrie": "^1.0.2" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "tinybench": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz", + "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==", + "dev": true + }, + "tinypool": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.1.tgz", + "integrity": "sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==", + "dev": true + }, + "tinyspy": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-1.1.1.tgz", + "integrity": "sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "devOptional": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "requires": { + "base64-arraybuffer": "^1.0.2" + } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vite": { + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", + "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", + "dev": true, + "requires": { + "esbuild": "^0.17.5", + "fsevents": "~2.3.2", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + } + }, + "vitest": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.8.tgz", + "integrity": "sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg==", + "dev": true, + "requires": { + "@types/chai": "^4.3.4", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "acorn": "^8.8.1", + "acorn-walk": "^8.2.0", + "chai": "^4.3.7", + "debug": "^4.3.4", + "local-pkg": "^0.4.2", + "source-map": "^0.6.1", + "strip-literal": "^1.0.0", + "tinybench": "^2.3.1", + "tinypool": "^0.3.0", + "tinyspy": "^1.0.2", + "vite": "^3.0.0 || ^4.0.0" + } + }, + "vue": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", + "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", + "requires": { + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-sfc": "3.3.4", + "@vue/runtime-dom": "3.3.4", + "@vue/server-renderer": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "vue-eslint-parser": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.0.tgz", + "integrity": "sha512-48IxT9d0+wArT1+3wNIy0tascRoywqSUe2E1YalIC1L8jsUGe5aJQItWfRok7DVFGz3UYvzEI7n5wiTXsCMAcQ==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "vue-router": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.2.tgz", + "integrity": "sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==", + "requires": { + "@vue/devtools-api": "^6.5.0" + } + }, + "vue-table-to-excel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/vue-table-to-excel/-/vue-table-to-excel-1.0.6.tgz", + "integrity": "sha512-1s8+TiPO/Q6IgVicSVAGuhL30V8qsQOaVW1zX/3ZC+mD814eYojETE6KB7ToeaiaHqG/PYm+WMasaDLZyNJvLA==", + "dev": true + }, + "vue-template-compiler": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", + "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "vue-tsc": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.6.5.tgz", + "integrity": "sha512-Wtw3J7CC+JM2OR56huRd5iKlvFWpvDiU+fO1+rqyu4V2nMTotShz4zbOZpW5g9fUOcjnyZYfBo5q5q+D/q27JA==", + "dev": true, + "requires": { + "@volar/vue-language-core": "1.6.5", + "@volar/vue-typescript": "1.6.5", + "semver": "^7.3.8" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "vue3-datepicker": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/vue3-datepicker/-/vue3-datepicker-0.3.4.tgz", + "integrity": "sha512-pD4Lixnqdr6KeIO/ZK/xdmhYDQUvMPHgTeWkNYeAx5sKY4eaNItOqbLuevwI51d3ubozhNS1y+Z8Enxi33pXiQ==", + "requires": { + "date-fns": "^2.22.1" + } + }, + "w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "requires": { + "xml-name-validator": "^4.0.0" + } + }, + "wait-on": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.0.1.tgz", + "integrity": "sha512-9AnJE9qTjRQOlTZIldAaf/da2eW0eSRSgcqq85mXQja/DW3MriHxkpODDSUEg+Gri/rKEcXUZHe+cevvYItaog==", + "dev": true, + "requires": { + "axios": "^0.27.2", + "joi": "^17.7.0", + "lodash": "^4.17.21", + "minimist": "^1.2.7", + "rxjs": "^7.8.0" + } + }, + "webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true + }, + "whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "requires": { + "iconv-lite": "0.6.3" + } + }, + "whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true + }, + "whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + }, + "wheel": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wheel/-/wheel-1.0.0.tgz", + "integrity": "sha512-XiCMHibOiqalCQ+BaNSwRoZ9FDTAvOsXxGHXChBugewDj7HC8VBIER71dEOiRH1fSdLbRCQzngKTSiZ06ZQzeA==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "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" + } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "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", + "is-typed-array": "^1.1.10" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "dev": true, + "requires": {} + }, + "xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "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, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 000000000..e0d66d478 --- /dev/null +++ b/package.json @@ -0,0 +1,62 @@ +{ + "name": "ehr", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "run-p type-check build-only", + "preview": "vite preview", + "test:unit": "vitest --environment jsdom --root src/", + "test:e2e": "start-server-and-test preview :4173 'cypress run --e2e'", + "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' :4173 'cypress open --e2e'", + "build-only": "vite build", + "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false", + "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" + }, + "dependencies": { + "@fullcalendar/core": "^6.0.1", + "@fullcalendar/daygrid": "^6.0.1", + "@fullcalendar/interaction": "^6.0.2", + "@fullcalendar/list": "^6.0.2", + "@fullcalendar/react": "^6.0.1", + "@fullcalendar/timegrid": "^6.0.2", + "@fullcalendar/vue3": "^6.0.1", + "@quasar/extras": "^1.15.8", + "@vuepic/vue-datepicker": "^3.6.3", + "bma-org-chart": "^0.0.7", + "keycloak-js": "^20.0.2", + "moment": "^2.29.4", + "pinia": "^2.0.29", + "quasar": "^2.11.1", + "structure-chart": "^0.0.9", + "vue": "^3.2.45", + "vue-router": "^4.1.6", + "vue3-datepicker": "^0.3.4" + }, + "devDependencies": { + "@quasar/vite-plugin": "^1.3.0", + "@rushstack/eslint-patch": "^1.1.4", + "@types/jsdom": "^20.0.1", + "@types/node": "^18.11.12", + "@vitejs/plugin-vue": "^4.0.0", + "@vitejs/plugin-vue-jsx": "^3.0.0", + "@vue/eslint-config-prettier": "^7.0.0", + "@vue/eslint-config-typescript": "^11.0.0", + "@vue/test-utils": "^2.2.6", + "@vue/tsconfig": "^0.1.3", + "cypress": "^12.0.2", + "eslint": "^8.22.0", + "eslint-plugin-cypress": "^2.12.1", + "eslint-plugin-vue": "^9.3.0", + "jsdom": "^20.0.3", + "npm-run-all": "^4.1.5", + "prettier": "^2.7.1", + "sass": "^1.32.12", + "start-server-and-test": "^1.15.2", + "typescript": "~4.7.4", + "vite": "^4.0.0", + "vitest": "^0.25.6", + "vue-table-to-excel": "^1.0.6", + "vue-tsc": "^1.0.12" + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 000000000..4420a4d4b Binary files /dev/null and b/public/favicon.ico differ diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 000000000..4295c3659 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,15 @@ + + + + + diff --git a/src/api/02_organizational/api.chart.ts b/src/api/02_organizational/api.chart.ts new file mode 100644 index 000000000..06757a17a --- /dev/null +++ b/src/api/02_organizational/api.chart.ts @@ -0,0 +1,14 @@ +/** + * API Structure + Org Chart + */ +import env from "../index" + +const treeRoot = `${env.API_URI}/Organization/treeroot` +const structChart = `${env.API_URI}/Organization/struct-chart/` +const orgChart = `${env.API_URI}/Organization/org-chart/` + +export default { + chartGetTreeRoot: `${treeRoot}`, + chartGetStructure: (id: string) => `${structChart}${id}`, + chartGetOrg: (id: string) => `${orgChart}${id}` +} diff --git a/src/api/02_organizational/api.treelist.ts b/src/api/02_organizational/api.treelist.ts new file mode 100644 index 000000000..34291f031 --- /dev/null +++ b/src/api/02_organizational/api.treelist.ts @@ -0,0 +1,80 @@ +/** + * api ระบบจัดการ Tree + * + */ +import env from "../index"; +//Dropdown เพิ่มโครงร้างหน่วยงาน +// const organizationAgency = `${env.API_URI_ORG_SERVICE}/organization-agency/`; +// const organizationGovernmentAgency = `${env.API_URI_ORG_SERVICE}/organization-government-agency/`; +// const organizationPath = `${env.API_URI}/Organization/tree`; +const organizationPath = `${env.API_URI_ORG_SERVICE}/Organization/`; +const postionMasterPath = `${env.API_URI_ORG_SERVICE}/PositionMaster`; +const organizationPosition = `${env.API_URI_ORG_SERVICE}/OrganizationPosition/`; + +const report = `${env.API_URI}/report/organization/`; + +export default { + getOCType: `${report}oc-type`, + getReportAccount1: (id: string) => `${report}account1/${id}`, + getReportAccount2: (id: string) => `${report}account2/${id}`, + getReportAccount3: (id: string) => `${report}account3/${id}`, + + /**api หน่วยงานต้นสังกัด/ส่วนราชการต้นสังกัด + * @param organizationType หน่วยงาน หรือ ส่วนราชการ + * @returns organizationId and organizationName + */ + listOrganizationAgency: (organizationType: string) => + `${organizationPath}type/${organizationType}`, + + /**api Tree + * + */ + // treeList: `${organizationPath}`, + getTreeRoot: `${organizationPath}treeroot`, + getDraftTreeRoot: `${organizationPath}history/treeroot`, + getTreeHistory: `${organizationPath}publish-history`, + getTreeNode: (organizationId: string, keyId: string) => + `${organizationPath}tree?organizationId=${organizationId}&keyId=${keyId}`, + getDraftTreeNode: (organizationId: string, keyId: string) => + `${organizationPath}history/tree?organizationId=${organizationId}&keyId=${keyId}`, + addTreeDraft: `${organizationPosition}history`, + editTreeOrgDraft: (organizationId: string) => + `${organizationPath}history/${organizationId}`, + getOrgDraft: (organizationId: string) => + `${organizationPath}history/${organizationId}`, + // /api/v1/Organization/history?organizationPositionId=65ab2ddc-b9d2-4422-83d4-b90dd8191b6f + delTreeOrgDraft: (organizationId: string) => + `${organizationPath}history?organizationPositionId=${organizationId}`, + getPostionMasterDraft: (showAll: boolean) => + `${postionMasterPath}/history?showall=${showAll}`, + getPostionMaster: (showAll: boolean) => + `${postionMasterPath}?showall=${showAll}`, + editTreePositionDraft: (organizationPositionId: string) => + `${organizationPosition}history?organizationPositionId=${organizationPositionId}`, + // /api/v1/OrganizationPosition/history?organizationPositionId=15ec8c2b-796f-4fad-b731-667a232e723e + delTreePositionDraft: (organizationPositionId: string) => + `${organizationPosition}history/${organizationPositionId}`, + + //PUT /api/v1/OrganizationPosition/history/publish + publishOrgPoDraft: `${organizationPosition}history/publish`, + //PUT /api/v1/OrganizationPosition/history/sync + delTreeOrgPoDraft: `${organizationPosition}history/sync`, + isOrgPohasDraft: `${organizationPosition}history/has-draft`, + isOrghasDraft: `${organizationPath}history/has-draft`, + + /** + * api จัดการตำแหน่ง + */ + getPositionMaster: `${postionMasterPath}/history`, + getPositionMasterId: (id: string) => `${postionMasterPath}/history/${id}`, + getPositionMasterPublish: `${postionMasterPath}/history/publish`, + getPositionMasterSync: `${postionMasterPath}/history/sync`, + getPositionMasterHistoryId: (id: string) => + `${postionMasterPath}/history/publish/${id}`, + + getPositionMasterPositionNumber: `${postionMasterPath}/position-number`, + getPositionMasterPositionNumberId: (id: string) => + `${postionMasterPath}/position-number/${id}`, + getPositionNumberIdByOcId: (OcId: string) => + `${postionMasterPath}/position-number/Oc/${OcId}`, +}; diff --git a/src/api/05_placement/api.placement.ts b/src/api/05_placement/api.placement.ts new file mode 100644 index 000000000..bd9f76127 --- /dev/null +++ b/src/api/05_placement/api.placement.ts @@ -0,0 +1,6 @@ +/** + * api บรรจุ แต่งตั้ง ย้าย โอน + */ +import env from "../index"; + +export default {}; diff --git a/src/api/06_retirement/api.retirement.ts b/src/api/06_retirement/api.retirement.ts new file mode 100644 index 000000000..d3dd56997 --- /dev/null +++ b/src/api/06_retirement/api.retirement.ts @@ -0,0 +1,6 @@ +/** + * api พ้นจากราชการ + */ +import env from "../index"; + +export default {}; diff --git a/src/api/07_insignia/api.insignia.ts b/src/api/07_insignia/api.insignia.ts new file mode 100644 index 000000000..9a2b93e20 --- /dev/null +++ b/src/api/07_insignia/api.insignia.ts @@ -0,0 +1,6 @@ +/** + * api เครื่องราชอิสริยาภรณ์ + */ +import env from "../index"; + +export default {}; diff --git a/src/api/index.ts b/src/api/index.ts new file mode 100644 index 000000000..3c47b1430 --- /dev/null +++ b/src/api/index.ts @@ -0,0 +1,62 @@ +/**config api */ +import { ref } from "vue"; + +const env = ref(process.env.NODE_ENV || "development"); +// if (process.env.VUE_APP_TEST) { +// env = "test"; +// } + +const config = ref({ + development: { + // API_URI: "https://localhost:7006/api/v1", + API_URI: "https://bma-ehr.frappet.synology.me/api/v1", + // API_URI_ORG_SERVICE: "https://localhost:7056/api/v1", //ใช้ชั่วคราว + API_URI_ORG_SERVICE: "https://bma-ehr.frappet.synology.me/api/v1", //ใช้ชั่วคราว + // API_URI_PROFILE_SERVICE: "https://localhost:7159/api/v1", + API_URI_PROFILE_SERVICE: "https://bma-ehr.frappet.synology.me/api/v1", //ใช้ชั่วคราว + // API_CANDIDATE_URI: "https://localhost:7007/api/v1", + API_CANDIDATE_URI: "https://bma-ehr.frappet.synology.me/api/v1", + // API_REPORT_URI: "https://localhost:7187/api/v1", + API_REPORT_URI: "https://bma-ehr.frappet.synology.me/api/v1", + MEET_URI: "meet.frappet.com", + }, + test: { + API_URI: "http://localhost:5010/api/v1", + API_CANDIDATE_URI: "https://localhost:7007/api/v1", + API_REPORT_URI: "https://localhost:7007/api/v1", + MEET_URI: "meet.frappet.com", + }, + production: { + // API_URI: "https://localhost:5010", + API_URI: `${window.location.protocol}//${window.location.host}/api/v1`, + API_URI_ORG_SERVICE: `${window.location.protocol}//${window.location.host}/api/v1`, //ใช้ชั่วคราว + API_URI_PROFILE_SERVICE: `${window.location.protocol}//${window.location.host}/api/v1`, + API_CANDIDATE_URI: `${window.location.protocol}//${window.location.host}/api/v1`, + API_REPORT_URI: `${window.location.protocol}//${window.location.host}/api/v1`, + MEET_URI: "meet.frappet.com", + }, +}); + +const API_URI = ref(config.value[env.value].API_URI); +const API_CANDIDATE_URI = ref( + config.value[env.value].API_CANDIDATE_URI +); +const API_REPORT_URI = ref(config.value[env.value].API_REPORT_URI); +const API_URI_ORG_SERVICE = ref( + config.value[env.value].API_URI_ORG_SERVICE +); +const MEET_URI = ref(config.value[env.value].MEET_URI); +const API_URI_PROFILE_SERVICE = ref( + config.value[env.value].API_URI_PROFILE_SERVICE +); + +export default { + env: env.value, + config: config.value, + API_URI: API_URI.value, + API_CANDIDATE_URI: API_CANDIDATE_URI.value, + API_REPORT_URI: API_REPORT_URI.value, + API_URI_ORG_SERVICE: API_URI_ORG_SERVICE.value, + API_URI_PROFILE_SERVICE: API_URI_PROFILE_SERVICE.value, + MEET_URI: MEET_URI.value, +}; diff --git a/src/api/manage/api.holiday.ts b/src/api/manage/api.holiday.ts new file mode 100644 index 000000000..42ebf2241 --- /dev/null +++ b/src/api/manage/api.holiday.ts @@ -0,0 +1,23 @@ +/** + * api ระบบจัดการข้อมูลหลัก + * เมนูย่อย: ปฏิทินวันหยุด + */ +import env from "../index"; +const holiday = `${env.API_URI}/metadata/holiday/`; + +export default { + /** + * api ชั้นเครื่องราชฯ + */ + listHolidayHistoryAdd: (category: string) => + `${holiday}range/add/${category}`, + listHolidayHistoryEdit: (category: string) => + `${holiday}range/edit/${category}`, + listHolidayHistoryDelete: (category: string) => + `${holiday}range/delete/${category}`, + listHolidayHistoryYear: (year: number) => `${holiday}${year}`, + listHolidayHistoryYearMonth: (year: number, month: number) => + `${holiday}${year}/${month}`, + listHolidayCopy: `${holiday}copy`, + summaryHolidayHistoryYear: (year: number) => `${holiday}summary/${year}`, +}; diff --git a/src/api/manage/api.insignia.ts b/src/api/manage/api.insignia.ts new file mode 100644 index 000000000..cabf1a9a6 --- /dev/null +++ b/src/api/manage/api.insignia.ts @@ -0,0 +1,35 @@ +/** + * api ระบบจัดการข้อมูลหลัก + * เมนูย่อย: ข้อมูลเครื่องราชอิสริยาภรณ์ + */ +import env from "../index"; +const insignia = `${env.API_URI}/metadata/insignia/`; +const insigniaType = `${env.API_URI}/metadata/insignia-type/`; + +export default { + /** + * api ชั้นเครื่องราชฯ + */ + insignia, + listInsigniaHistory: `${insignia}history`, + listInsigniaHistoryId: (id: string) => `${insignia}history/${id}`, + listInsigniaPublished: `${insignia}history/published`, + listInsigniaPublishedHistory: `${insignia}history/published-history`, + + /** + * api ประเภท + */ + insigniaType, + listInsigniaTypeHistory: `${insigniaType}history`, + listInsigniaTypeHistoryId: (id: string) => `${insigniaType}history/${id}`, + listInsigniaTypePublished: `${insigniaType}history/published`, + listInsigniaTypePublishedHistory: `${insigniaType}history/published-history`, + + /** + * api เหรียญตรา + */ + // listInsigniaHistory: `${insignia}history`, + // listInsigniaHistoryId: (id: string) => `${insignia}history/${id}`, + // listInsigniaPublished: `${insignia}history/published`, + // listInsigniaPublishedHistory: `${insignia}history/published-history`, +}; diff --git a/src/api/manage/api.organization.ts b/src/api/manage/api.organization.ts new file mode 100644 index 000000000..57d2fccbf --- /dev/null +++ b/src/api/manage/api.organization.ts @@ -0,0 +1,130 @@ +/** + * api ระบบจัดการข้อมูลหลัก + * เมนูย่อย: ข้อมูลโครงสร้างหน่วยงาน + */ +import env from "../index" +const organization = `${env.API_URI}/metadata/organization/` +const organizationOrganization = `${env.API_URI}/metadata/organization-organization/` +const organizationShortName = `${env.API_URI}/metadata/organization-shortname/` +const organizationCode = `${env.API_URI_ORG_SERVICE}/PositionMaster/` +const organizationType = `${env.API_URI}/metadata/organization-type/` +const organizationLevel = `${env.API_URI}/metadata/organization-level/` +const organizationStatus = `${env.API_URI}/metadata/organization-status/` +const organizationAgency = `${env.API_URI}/metadata/organization-agency/` +const organizationGovernmentAgency = `${env.API_URI}/metadata/organization-government-agency/` +const organizationTelExternal = `${env.API_URI}/metadata/organization-tel-external/` +const organizationTelInternal = `${env.API_URI}/metadata/organization-tel-internal/` +const organizationFax = `${env.API_URI}/metadata/organization-fax/` +const dashbord = `${env.API_URI}/metadata/dashbord/` + +export default { + /** + * api จำนวนข้อมูลใน ระบบจัดการข้อมูลหลัก tab ย่อยแต่ละ tab + */ + organization, + countDashbordSubHistory: (type: number) => `${dashbord}${type}`, + countDashbordHistory: `${dashbord}`, + + /** + * api หน่วยงาน + */ + listOrganizationOrganizationHistory: `${organizationOrganization}history`, + listOrganizationOrganizationHistoryId: (id: string) => + `${organizationOrganization}history/${id}`, + listOrganizationOrganizationPublished: `${organizationOrganization}history/published`, + listOrganizationOrganizationPublishedHistory: `${organizationOrganization}history/published-history`, + + /** + * api ชื่อย่อหน่วยงาน + */ + organizationShortName, + listOrganizationShortNameHistory: `${organizationShortName}history`, + listOrganizationShortNameHistoryId: (id: string) => + `${organizationShortName}history/${id}`, + listOrganizationShortNamePublished: `${organizationShortName}history/published`, + listOrganizationShortNamePublishedHistory: `${organizationShortName}history/published-history`, + organizationCode: `${organizationCode}organization-code`, + organizationGovernmentCode: (id: string) => + `${organizationCode}government/${id}`, + organizationAgencyCode: (id: string) => `${organizationCode}agency/${id}`, + + /** + * api ประเภท + */ + organizationType, + listOrganizationTypeHistory: `${organizationType}history`, + listOrganizationTypeHistoryId: (id: string) => + `${organizationType}history/${id}`, + listOrganizationTypePublished: `${organizationType}history/published`, + listOrganizationTypePublishedHistory: `${organizationType}history/published-history`, + + /** + * api ระดับ + */ + organizationLevel, + listOrganizationLevelHistory: `${organizationLevel}history`, + listOrganizationLevelHistoryId: (id: string) => + `${organizationLevel}history/${id}`, + listOrganizationLevelPublished: `${organizationLevel}history/published`, + listOrganizationLevelPublishedHistory: `${organizationLevel}history/published-history`, + + /** + * api สถานะ + */ + organizationStatus, + listOrganizationStatusHistory: `${organizationStatus}history`, + listOrganizationStatusHistoryId: (id: string) => + `${organizationStatus}history/${id}`, + listOrganizationStatusPublished: `${organizationStatus}history/published`, + listOrganizationStatusPublishedHistory: `${organizationStatus}history/published-history`, + + /** + * api หน่วยงานต้นสังกัด + */ + organizationAgency, + listOrganizationAgencyHistory: `${organizationAgency}history`, + listOrganizationAgencyHistoryId: (id: string) => + `${organizationAgency}history/${id}`, + listOrganizationAgencyPublished: `${organizationAgency}history/published`, + listOrganizationAgencyPublishedHistory: `${organizationAgency}history/published-history`, + + /** + * api ส่วนราชการต้นสังกัด + */ + organizationGovernmentAgency, + listOrganizationGovernmentAgencyHistory: `${organizationGovernmentAgency}history`, + listOrganizationGovernmentAgencyHistoryId: (id: string) => + `${organizationGovernmentAgency}history/${id}`, + listOrganizationGovernmentAgencyPublished: `${organizationGovernmentAgency}history/published`, + listOrganizationGovernmentAgencyPublishedHistory: `${organizationGovernmentAgency}history/published-history`, + + /** + * api เบอร์ติดต่อภายนอก + */ + organizationTelExternal, + listOrganizationTelExternalHistory: `${organizationTelExternal}history`, + listOrganizationTelExternalHistoryId: (id: string) => + `${organizationTelExternal}history/${id}`, + listOrganizationTelExternalPublished: `${organizationTelExternal}history/published`, + listOrganizationTelExternalPublishedHistory: `${organizationTelExternal}history/published-history`, + + /** + * api เบอร์ติดต่อภายใน + */ + organizationTelInternal, + listOrganizationTelInternalHistory: `${organizationTelInternal}history`, + listOrganizationTelInternalHistoryId: (id: string) => + `${organizationTelInternal}history/${id}`, + listOrganizationTelInternalPublished: `${organizationTelInternal}history/published`, + listOrganizationTelInternalPublishedHistory: `${organizationTelInternal}history/published-history`, + + /** + * api เบอร์โทรสาร + */ + organizationFax, + listOrganizationFaxHistory: `${organizationFax}history`, + listOrganizationFaxHistoryId: (id: string) => + `${organizationFax}history/${id}`, + listOrganizationFaxPublished: `${organizationFax}history/published`, + listOrganizationFaxPublishedHistory: `${organizationFax}history/published-history`, +} diff --git a/src/api/manage/api.person.ts b/src/api/manage/api.person.ts new file mode 100644 index 000000000..db71b3cd2 --- /dev/null +++ b/src/api/manage/api.person.ts @@ -0,0 +1,108 @@ +/** + * api ระบบจัดการข้อมูลหลัก + * เมนูย่อย: ข้อมูลเกี่ยวกับบุคคล + */ +import env from "../index"; +const person = `${env.API_URI}/metadata/main/`; +const province = `${env.API_URI}/metadata/province/`; +const district = `${env.API_URI}/metadata/district/`; +const subDistrict = `${env.API_URI}/metadata/sub-district/`; +const prefix = `${env.API_URI}/metadata/prefix/`; +const bloodGroup = `${env.API_URI}/metadata/blood-group/`; +const educationLevel = `${env.API_URI}/metadata/education-level/`; +const gender = `${env.API_URI}/metadata/gender/`; +const relationship = `${env.API_URI}/metadata/relationship/`; +const religion = `${env.API_URI}/metadata/religion/`; + +export default { + person: `${person}person`, + + /** + * api จังหวัด + */ + province, + listProvinceHistory: `${province}history`, + listProvinceHistoryId: (id: string) => `${province}history/${id}`, + listProvincePublished: `${province}history/published`, + listProvincePublishedHistory: `${province}history/published-history`, + + /** + * api เขต + */ + listDistrict: (id: string) => `${district}${id}`, + listDistrictHistory: `${district}history`, + listDistrictHistoryId: (id: string | string[]) => `${district}history/${id}`, + listDistrictPublishedId: (id: string) => `${district}history/published/${id}`, + listDistrictPublishedHistory: (id: string | string[]) => + `${district}history/published-history/${id}`, + + /** + * api แขวง + */ + listSubDistrict: (id: string) => `${subDistrict}${id}`, + listSubDistrictHistory: `${subDistrict}history`, + listSubDistrictHistoryProvinceId: ( + provinceId: string | string[], + district: string | string[] + ) => `${subDistrict}history/${provinceId}/${district}`, + listSubDistrictHistoryId: (id: string | string[]) => + `${subDistrict}history/${id}`, + listSubDistrictPublishedId: (id: string) => + `${subDistrict}history/published/${id}`, + listSubDistrictPublishedHistory: (id: string | string[]) => + `${subDistrict}history/published-history/${id}`, + + /** + * api คำนำหน้า + */ + prefix, + listPrefixHistory: `${prefix}history`, + listPrefixHistoryId: (id: string) => `${prefix}history/${id}`, + listPrefixPublished: `${prefix}history/published`, + listPrefixPublishedHistory: `${prefix}history/published-history`, + + /** + * api เพศ + */ + gender, + listGenderHistory: `${gender}history`, + listGenderHistoryId: (id: string) => `${gender}history/${id}`, + listGenderPublished: `${gender}history/published`, + listGenderPublishedHistory: `${gender}history/published-history`, + + /** + * api สถานภาพ + */ + relationship, + listRelationshipHistory: `${relationship}history`, + listRelationshipHistoryId: (id: string) => `${relationship}history/${id}`, + listRelationshipPublished: `${relationship}history/published`, + listRelationshipPublishedHistory: `${relationship}history/published-history`, + + /** + * api กลุ่มเลือด + */ + bloodGroup, + listBloodGroupHistory: `${bloodGroup}history`, + listBloodGroupHistoryId: (id: string) => `${bloodGroup}history/${id}`, + listBloodGroupPublished: `${bloodGroup}history/published`, + listBloodGroupPublishedHistory: `${bloodGroup}history/published-history`, + + /** + * api ศาสนา + */ + religion, + listReligionHistory: `${religion}history`, + listReligionHistoryId: (id: string) => `${religion}history/${id}`, + listReligionPublished: `${religion}history/published`, + listReligionPublishedHistory: `${religion}history/published-history`, + + /** + * api ระดับการศึกษา + */ + educationLevel, + listEducationLevelHistory: `${educationLevel}history`, + listEducationLevelHistoryId: (id: string) => `${educationLevel}history/${id}`, + listEducationLevelPublished: `${educationLevel}history/published`, + listEducationLevelPublishedHistory: `${educationLevel}history/published-history`, +}; diff --git a/src/api/manage/api.position.ts b/src/api/manage/api.position.ts new file mode 100644 index 000000000..4b4536bf3 --- /dev/null +++ b/src/api/manage/api.position.ts @@ -0,0 +1,98 @@ +/** + * api ระบบจัดการข้อมูลหลัก + * เมนูย่อย: ข้อมูลตำแหน่งของข้าราชการกรุงเทพมหานคร + */ +import env from "../index"; +const position = `${env.API_URI}/metadata/main/`; +const positionExecutiveSide = `${env.API_URI}/metadata/position-executive-side/`; +const positionLevel = `${env.API_URI}/metadata/position-level/`; +const positionPath = `${env.API_URI}/metadata/position-path/`; +const positionSide = `${env.API_URI}/metadata/position-path-side/`; +const positionType = `${env.API_URI}/metadata/position-type/`; +const positionStatus = `${env.API_URI}/metadata/position-status/`; +const positionLine = `${env.API_URI}/metadata/position-line/`; +const positionExecutive = `${env.API_URI}/metadata/position-executive/`; + +export default { + position: `${position}position`, + /** + * api ด้านทางการบริหาร + */ + positionExecutiveSide, + listPositionExecutiveSideHistory: `${positionExecutiveSide}history`, + listPositionExecutiveSideHistoryId: (id: string) => + `${positionExecutiveSide}history/${id}`, + listPositionExecutiveSidePublished: `${positionExecutiveSide}history/published`, + listPositionExecutiveSidePublishedHistory: `${positionExecutiveSide}history/published-history`, + + /** + * api ตำแหน่งในสายงาน + */ + // listPositionHistory: `${position}history`, + // listPositionHistoryId: (id: string) => `${position}history/${id}`, + // listPositionPublished: `${position}history/published`, + + /** + * api ระดับตำแหน่ง + */ + positionLevel, + listPositionLevelHistory: `${positionLevel}history`, + listPositionLevelHistoryId: (id: string) => `${positionLevel}history/${id}`, + listPositionLevelPublished: `${positionLevel}history/published`, + listPositionLevelPublishedHistory: `${positionLevel}history/published-history`, + + /** + * api ตำแหน่งในสายงาน + */ + positionPath, + listPositionPathHistory: `${positionPath}history`, + listPositionPathHistoryId: (id: string) => `${positionPath}history/${id}`, + listPositionPathPublished: `${positionPath}history/published`, + listPositionPathPublishedHistory: `${positionPath}history/published-history`, + + /** + * api ด้าน/สาขา + */ + positionSide, + listPositionSideHistory: `${positionSide}history`, + listPositionSideHistoryId: (id: string) => `${positionSide}history/${id}`, + listPositionSidePublished: `${positionSide}history/published`, + listPositionSidePublishedHistory: `${positionSide}history/published-history`, + + /** + * api ตำแหน่งประเภท + */ + positionType, + listPositionTypeHistory: `${positionType}history`, + listPositionTypeHistoryId: (id: string) => `${positionType}history/${id}`, + listPositionTypePublished: `${positionType}history/published`, + listPositionTypePublishedHistory: `${positionType}history/published-history`, + + /** + * api สถานะของตำแหน่ง + */ + positionStatus, + listPositionStatusHistory: `${positionStatus}history`, + listPositionStatusHistoryId: (id: string) => `${positionStatus}history/${id}`, + listPositionStatusPublished: `${positionStatus}history/published`, + listPositionStatusPublishedHistory: `${positionStatus}history/published-history`, + + /** + * api สายงานของตำแหน่ง + */ + positionLine, + listPositionLineHistory: `${positionLine}history`, + listPositionLineHistoryId: (id: string) => `${positionLine}history/${id}`, + listPositionLinePublished: `${positionLine}history/published`, + listPositionLinePublishedHistory: `${positionLine}history/published-history`, + + /** + * api ตำแหน่งทางการบริหาร + */ + positionExecutive, + listPositionExecutiveHistory: `${positionExecutive}history`, + listPositionExecutiveHistoryId: (id: string) => + `${positionExecutive}history/${id}`, + listPositionExecutivePublished: `${positionExecutive}history/published`, + listPositionExecutivePublishedHistory: `${positionExecutive}history/published-history`, +}; diff --git a/src/api/manage/api.positionEmployee.ts b/src/api/manage/api.positionEmployee.ts new file mode 100644 index 000000000..a57137a7e --- /dev/null +++ b/src/api/manage/api.positionEmployee.ts @@ -0,0 +1,67 @@ +/** + * api ระบบจัดการข้อมูลหลัก + * เมนูย่อย: ข้อมูลตำแหน่งของลูกจ้างกรุงเทพมหานคร + */ +import env from "../index"; +const positionEmployeePosition = `${env.API_URI}/metadata/position-employee-position/`; +const positionEmployeePositionSide = `${env.API_URI}/metadata/position-employee-position-side/`; +const positionEmployeeGroup = `${env.API_URI}/metadata/position-employee-group/`; +const positionEmployeeLine = `${env.API_URI}/metadata/position-employee-line/`; +const positionEmployeeLevel = `${env.API_URI}/metadata/position-employee-level/`; +const positionEmployeeStatus = `${env.API_URI}/metadata/position-employee-status/`; + +export default { + /** + * api ตำแหน่ง + */ + listPositionEmployeePositionHistory: `${positionEmployeePosition}history`, + listPositionEmployeePositionHistoryId: (id: string) => + `${positionEmployeePosition}history/${id}`, + listPositionEmployeePositionPublished: `${positionEmployeePosition}history/published`, + listPositionEmployeePositionPublishedHistory: `${positionEmployeePosition}history/published-history`, + + /** + * api ด้านของตำแหน่ง + */ + listPositionEmployeePositionSideHistory: `${positionEmployeePositionSide}history`, + listPositionEmployeePositionSideHistoryId: (id: string) => + `${positionEmployeePositionSide}history/${id}`, + listPositionEmployeePositionSidePublished: `${positionEmployeePositionSide}history/published`, + listPositionEmployeePositionSidePublishedHistory: `${positionEmployeePositionSide}history/published-history`, + + /** + * api กลุ่มงาน + */ + listPositionEmployeeGroupHistory: `${positionEmployeeGroup}history`, + listPositionEmployeeGroupHistoryId: (id: string) => + `${positionEmployeeGroup}history/${id}`, + listPositionEmployeeGroupPublished: `${positionEmployeeGroup}history/published`, + listPositionEmployeeGroupPublishedHistory: `${positionEmployeeGroup}history/published-history`, + + /** + * api สายงาน + */ + listPositionEmployeeLineHistory: `${positionEmployeeLine}history`, + listPositionEmployeeLineHistoryId: (id: string) => + `${positionEmployeeLine}history/${id}`, + listPositionEmployeeLinePublished: `${positionEmployeeLine}history/published`, + listPositionEmployeeLinePublishedHistory: `${positionEmployeeLine}history/published-history`, + + /** + * api ระดับชั้นงาน + */ + listPositionEmployeeLevelHistory: `${positionEmployeeLevel}history`, + listPositionEmployeeLevelHistoryId: (id: string) => + `${positionEmployeeLevel}history/${id}`, + listPositionEmployeeLevelPublished: `${positionEmployeeLevel}history/published`, + listPositionEmployeeLevelPublishedHistory: `${positionEmployeeLevel}history/published-history`, + + /** + * api สถานะของตำแหน่ง + */ + listPositionEmployeeStatusHistory: `${positionEmployeeStatus}history`, + listPositionEmployeeStatusHistoryId: (id: string) => + `${positionEmployeeStatus}history/${id}`, + listPositionEmployeeStatusPublished: `${positionEmployeeStatus}history/published`, + listPositionEmployeeStatusPublishedHistory: `${positionEmployeeStatus}history/published-history`, +}; diff --git a/src/api/recruiting/api.disable.ts b/src/api/recruiting/api.disable.ts new file mode 100644 index 000000000..6475349b7 --- /dev/null +++ b/src/api/recruiting/api.disable.ts @@ -0,0 +1,39 @@ +/** + * api สรรหา + */ +import env from "../index" +const disableExam = `${env.API_CANDIDATE_URI}/candidate/disable-exam/` +const diable_report = `${env.API_URI}/report/exam/` + +export default { + getDisableCandidates: `${disableExam}candidate`, + saveDisableCandidates: `${disableExam}candidate`, + deleteDisableCandidates: (id: string) => `${disableExam}candidate/${id}`, + getDisableExamDetail: (id: string, examId: string) => + `${disableExam}exam/${id}/${examId}`, + + saveDisableScores: (id: string) => `${disableExam}score/${id}`, + + getDisableExamResultById: (id: string) => `${disableExam}exam/${id}`, + + // จัดการรอบการสอบ + saveDisablePeriod: `${disableExam}period`, + editDisablePeriod: (id: string) => `${disableExam}period/${id}`, + getDisablePeriodById: (id: string) => `${disableExam}period/${id}`, + uploadDisableCandidates: (id: string) => `${disableExam}candidate/${id}`, + getDisableImportHistory: (id: string) => `${disableExam}history/${id}`, + + // รายงาน + downloadDisableExamReport: (id: string, examId: string, type: number = 2) => + `${diable_report}certificate/${type}/${id}/${examId}`, + downloadDisableScoreReport: (id: string, examId: string) => + `${diable_report}score/${id}/${examId}`, + exportDisableExam: (id: string) => `${disableExam}export/exam/${id}`, + exportDisablePassExam: (id: string) => `${disableExam}export/pass-exam/${id}`, + exportDisablePassResultExam: (id: string) => + `${disableExam}export/pass/${id}`, + + exportDisableCandidateList: (id: string) => `${diable_report}candidate/${id}`, + exportDisablePassExamList: (id: string) => `${diable_report}pass/${id}`, + +} diff --git a/src/api/recruiting/api.period-exam.ts b/src/api/recruiting/api.period-exam.ts new file mode 100644 index 000000000..c4631d1fa --- /dev/null +++ b/src/api/recruiting/api.period-exam.ts @@ -0,0 +1,85 @@ +/** + * api สรรหา + */ +import env from "../index" +const candidate = `${env.API_CANDIDATE_URI}/candidate/` +const periodExam = `${env.API_CANDIDATE_URI}/candidate/period-exam/` +const exam_report = `${env.API_URI}/report/exam/` + +const cms = `${env.API_CANDIDATE_URI}/cms/` + +export default { + /** + * api cms + */ + cms, + cmsDeatail: `${cms}detail`, + cmsAbout: `${cms}about`, + cmsLogo: `${cms}logo`, + cmsBanner: `${cms}banner`, + cmsAgency: `${cms}agency`, + cmsGoverment: `${cms}government`, + + /** + * api รอบการสอบ + */ + periodExam: `${periodExam}`, + periodExamType: (type: string) => `${periodExam}type/${type}`, + periodExamId: (examId: string) => `${periodExam}${examId}`, + periodExamDoc: (examId: string) => `${periodExam}doc/${examId}`, + periodExamImg: (examId: string) => `${periodExam}img/${examId}`, + periodExamStatus: (examId: string) => `${periodExam}status-payment/${examId}`, + + countDashbordPeriodExam: (examId: string) => + `${periodExam}dashboard/${examId}`, + + candidateId: (candidateId: string) => `${candidate}${candidateId}`, + candidateInformation: (candidateId: string) => + `${periodExam}information/${candidateId}`, + candidateAddress: (candidateId: string) => + `${periodExam}address/${candidateId}`, + candidateFamily: (candidateId: string) => + `${periodExam}family/${candidateId}`, + candidateOccupation: (candidateId: string) => + `${periodExam}occupation/${candidateId}`, + candidateEducation: (candidateId: string) => + `${periodExam}education/${candidateId}`, + candidateAdminEducation: (candidateId: string) => + `${candidate}education/${candidateId}`, + candidateDocument: (candidateId: string) => + `${periodExam}document/${candidateId}`, + candidateCareer: (candidateId: string) => + `${periodExam}career/${candidateId}`, + candidateAdminCareer: (candidateId: string) => + `${candidate}career/${candidateId}`, + candidateProfile: (candidateId: string) => + `${candidate}profile-image/${candidateId}`, + candidateUpload: (candidateId: string) => `${candidate}upload/${candidateId}`, + candidateCheckRegister: (candidateId: string) => + `${candidate}check-register/${candidateId}`, + candidateRejectRegister: (candidateId: string) => + `${candidate}reject-register/${candidateId}`, + candidateCheckPayment: (candidateId: string) => + `${candidate}check-payment/${candidateId}`, + candidate, + candidateOfPeriodExam: (status: string, examId: string) => + `${periodExam}${status}/${examId}`, + candidateCard: (candidateId: string) => `${candidate}card/${candidateId}`, + + periodExamUploadSeat: (examId: string) => + `${periodExam}upload-seat/${examId}`, + periodExamUploadPoint: (examId: string) => + `${periodExam}upload-point/${examId}`, + periodExamDownload: (examId: string) => `${periodExam}download/${examId}`, + periodExamDownloadDetail: (examId: string) => + `${periodExam}download/detail/${examId}`, + periodExamDownloadDashboard: (examId: string) => + `${periodExam}download/dashboard/${examId}`, + candidatePayment: (candidateId: string) => + `${candidate}payment-image/${candidateId}`, + periodExamPayment: (examId: string) => `${periodExam}payment/${examId}`, + + + exportExamCandidateList: (id: string) => `${exam_report}candidate-exam/${id}`, + exportExamPassExamList: (id: string) => `${exam_report}pass-exam/${id}`, +} diff --git a/src/api/recruiting/api.recruit.ts b/src/api/recruiting/api.recruit.ts new file mode 100644 index 000000000..cc0438f4b --- /dev/null +++ b/src/api/recruiting/api.recruit.ts @@ -0,0 +1,41 @@ +/** + * api สรรหา - สอบแข่งขัน + */ +import env from "../index" +const recruit = `${env.API_URI}/recruit/` +const recruit_report = `${env.API_URI}/report/recruit/` + +export default { + getCandidates: `${recruit}candidate`, + saveCandidates: `${recruit}candidate`, + deleteCandidates: (id: string) => `${recruit}candidate/${id}`, + getExamDetail: (id: string, examId: string) => `${recruit}exam/${id}/${examId}`, + + saveScores: (id: string) => `${recruit}score/${id}`, + + getExamResultById: (id: string) => `${recruit}exam/${id}`, + + // จัดการรอบการสอบ + savePeriod: `${recruit}period`, + editPeriod: (id: string) => `${recruit}period/${id}`, + getPeriodById: (id: string) => `${recruit}period/${id}`, + uploadCandidates: (id: string) => `${recruit}candidate/${id}`, + getImportHistory: (id: string) => `${recruit}history/${id}`, + + //upload + periodRecruitDoc: (examId: string) => `${recruit}doc/${examId}`, + periodRecruitImg: (examId: string) => `${recruit}img/${examId}`, + periodDeleteDoc: (docId: string) => `${recruit}doc/${docId}`, + periodDeleteImg: (docId: string) => `${recruit}img/${docId}`, + + // รายงาน + downloadExamReport: (id: string, examId: string, type: number = 2) => `${recruit_report}certificate/${type}/${id}/${examId}`, + downloadScoreReport: (id: string, examId: string) => `${recruit_report}score/${id}/${examId}`, + exportExam: (id: string) => `${recruit}export/exam/${id}`, + exportPassExam: (id: string) => `${recruit}export/pass-exam/${id}`, + exportPassResultExam: (id: string) => `${recruit}export/pass/${id}`, + + exportCandidateList: (id: string) => `${recruit_report}candidate/${id}`, + exportPassExamList: (id: string) => `${recruit_report}pass/${id}`, + +} \ No newline at end of file diff --git a/src/api/recruiting/api.report2.ts b/src/api/recruiting/api.report2.ts new file mode 100644 index 000000000..f51ab7df8 --- /dev/null +++ b/src/api/recruiting/api.report2.ts @@ -0,0 +1,12 @@ +import env from "../index"; +const report2 = `${env.API_URI_ORG_SERVICE}/report2/`; + +export default { + report2Id: (id: string) => `${report2}${id}`, + report2TreeId: (organizationId: string) => `${report2}tree/${organizationId}`, + report2DoneId: (organizationId: string) => `${report2}done/${organizationId}`, + report2HistoryId: (organizationId: string) => + `${report2}history/${organizationId}`, + report2HistoryDetailId: (historyId: string) => + `${report2}history/detail/${historyId}`, +}; diff --git a/src/api/registry/api.profile.ts b/src/api/registry/api.profile.ts new file mode 100644 index 000000000..c5dff22ae --- /dev/null +++ b/src/api/registry/api.profile.ts @@ -0,0 +1,161 @@ +/** + * api สรรหา - สอบแข่งขัน + */ +import env from "../index"; +const profile = `${env.API_URI_PROFILE_SERVICE}/profile/`; +const report = `${env.API_REPORT_URI}/report/profile/`; + +export default { + profileUser: `${profile}user`, + profileValidateId: (profileId: string) => `${profile}validate/${profileId}`, + profilePaperDownloadId: (id: string) => `${profile}paper/download/${id}`, + profilePaperId: (id: string) => `${profile}paper/${id}`, + + profileMultiId: (id: string) => `${profile}multi-paper/${id}`, + profileMultiOId: (id: string) => `${profile}multi-paper-other/${id}`, + profileMultiKId: (id: string) => `${profile}multi-paper-kk1/${id}`, + + profileHistoryselfId: (profileId: string) => + `${profile}/historyself${profileId}`, + + profileOrganiNameId: (id: string) => `${profile}organization/name/${id}`, + profileOrganiId: (id: string) => `${profile}organization/${id}`, + profileOrganiSelectId: (id: string) => `${profile}organization/select/${id}`, + profileOrganiRootId: (id: string) => `${profile}organization/root/${id}`, + + profileLeaveOrganiId: (id: string) => `${profile}leave/organization/${id}`, + + profileSearchNewOcId: (id: string) => `${profile}search/new/oc/${id}`, + profileSearchNewOcIdType: (id: string, type: string) => + `${profile}search/new/oc/${id}/${type}`, + profileSearchId: (id: string) => `${profile}search/${id}`, + profileSearchOcId: (id: string) => `${profile}search/oc/${id}`, + profileSearchNewOcLeaveId: (id: string) => + `${profile}search/new/oc/leave/${id}`, + profileSearchNewOcLeaveIdType: (id: string, type: string) => + `${profile}search/new/oc/leave/${id}/${type}`, + profileSearchOcLeaveId: (id: string) => `${profile}search/oc/leave/${id}`, + profileSearchNewEmOcId: (id: string) => + `${profile}search/new-employee/oc/${id}`, + profileSearchNewEmOcLeaveId: (id: string) => + `${profile}search/new-employee/oc/leave/${id}`, + + profileCoupleId: (profileId: string) => `${profile}couple/${profileId}`, + + profileFatherId: (profileId: string) => `${profile}father/${profileId}`, + + profileMotherId: (profileId: string) => `${profile}mother/${profileId}`, + + profileAdsId: (profileId: string) => `${profile}address/current/${profileId}`, + profileAdsCurAdrsId: (profileId: string) => + `${profile}address/currentAdrs/${profileId}`, + profileAdsRegisId: (profileId: string) => + `${profile}address/registration/${profileId}`, + + profileInsignId: (profileId: string) => `${profile}insignia/${profileId}`, + profileInsignHisId: (profileId: string) => + `${profile}insignia/history/${profileId}`, + profileInsignInsignId: (profileId: string) => + `${profile}insignia/insigniadiocesan/${profileId}`, + profileInsignToolList: `${profile}insignia/tool/list`, + + profileChildId: (profileId: string) => `${profile}children/${profileId}`, + + profileAssessmentId: (profileId: string) => + `${profile}assessment/${profileId}`, + profileAssessmentHisId: (profileId: string) => + `${profile}assessment/history/${profileId}`, + + profileHonorId: (profileId: string) => `${profile}honor/${profileId}`, + profileHonorHisId: (profileId: string) => + `${profile}honor/history/${profileId}`, + + profileCertId: (profileId: string) => `${profile}certificate/${profileId}`, + profileCertHisId: (profileId: string) => + `${profile}certificate/history/${profileId}`, + + profileAbiliId: (profileId: string) => `${profile}ability/${profileId}`, + profileAbiliHisId: (profileId: string) => + `${profile}ability/history/${profileId}`, + + profileDutyId: (profileId: string) => `${profile}duty/${profileId}`, + profileDutyHisId: (profileId: string) => + `${profile}duty/history/${profileId}`, + + profileOtherId: (profileId: string) => `${profile}other/${profileId}`, + profileOtherHisId: (profileId: string) => + `${profile}other/history/${profileId}`, + + profileNopaidId: (profileId: string) => `${profile}nopaid/${profileId}`, + profileNopaidHisId: (profileId: string) => + `${profile}nopaid/history/${profileId}`, + + profileAvaId: (profileId: string) => `${profile}avatar/${profileId}`, + profileAvaCurId: (profileId: string) => + `${profile}avatar/current/${profileId}`, + + profileEduId: (profileId: string) => `${profile}education/${profileId}`, + profileEduHisId: (profileId: string) => + `${profile}education/history/${profileId}`, + + profileSwapEducation: `${profile}swap_education`, + + profileTrainId: (profileId: string) => `${profile}training/${profileId}`, + profileTrainHisId: (profileId: string) => + `${profile}training/history/${profileId}`, + + profileDisId: (profileId: string) => `${profile}discipline/${profileId}`, + profileDisHisId: (profileId: string) => + `${profile}discipline/history/${profileId}`, + + profileSwapDiscipline: `${profile}swap_discipline`, + + profileLeaveId: (profileId: string) => `${profile}leave/${profileId}`, + profileLeaveHisId: (profileId: string) => + `${profile}leave/history/${profileId}`, + + profileSalaryId: (profileId: string) => `${profile}salary/${profileId}`, + profileSalaryHisId: (profileId: string) => + `${profile}salary/history/${profileId}`, + profileSalarySwapId: (id: string, direction: string) => + `${profile}salary/swap/${id}/${direction}`, + profileSalaryCopyId: (profileId: string) => + `${profile}salary-copy/${profileId}`, + + profileInforId: (profileId: string) => `${profile}information/${profileId}`, + profileInforHisId: (profileId: string) => + `${profile}information/history/${profileId}`, + + profileGovId: (profileId: string) => `${profile}government/${profileId}`, + profileGovHisId: (profileId: string) => + `${profile}government/history/${profileId}`, + + profileCalGovId: (profileId: string) => `${profile}cal/gov/${profileId}`, + + profileFamiId: (profileId: string) => `${profile}family/${profileId}`, + profileFamiHisId: (profileId: string) => + `${profile}family/history/${profileId}`, + + profileAdrsId: (profileId: string) => `${profile}address/${profileId}`, + profileAdrsHisId: (profileId: string) => + `${profile}address/history/${profileId}`, + searchProfileByOcId: (OcId: string, type: string) => + `${profile}search/new/oc/${OcId}/${type}`, + + profileAvatarId: (profileId: string) => `${profile}avatar/${profileId}`, + profileAvatarHistoryId: (profileId: string) => + `${profile}avatar/history/${profileId}`, + + profileCheckId: (profileId: string) => `${profile}check/${profileId}`, + + profileOrganizRoot: `${profile}organization/root`, + + profileCalRetire: `${profile}cal/retire`, + profilePositionNumber: `${profile}position-number`, + organizationName: (ocId: string) => `${profile}organization/${ocId}`, + profileDeactive: (profileId: string) => `${profile}deactive/${profileId}`, + profileReactive: (profileId: string) => `${profile}reactive/${profileId}`, + + profileReportId: (profileId: string) => `${report}kk1/${profileId}`, + profileKp7ShortId: (profileId: string) => `${report}kp7-short/${profileId}`, +}; diff --git a/src/app.config.ts b/src/app.config.ts new file mode 100644 index 000000000..5fe96eab7 --- /dev/null +++ b/src/app.config.ts @@ -0,0 +1,83 @@ +/**ใช้รวมไฟล์ย่อยๆ ของ api แต่ละไฟล์ */ + +/** API Metadata */ +import manageOrganization from "./api/manage/api.organization"; +import managePerson from "./api/manage/api.person"; +import managePosition from "./api/manage/api.position"; +import managePositionEmployee from "./api/manage/api.positionEmployee"; +import manageInsignia from "./api/manage/api.insignia"; +import manageHoliday from "./api/manage/api.holiday"; + +/** API Tree List */ +import organizationTreeList from "./api/02_organizational/api.treelist"; + +/** API Structure & Org Chart */ +import organizationChart from "./api/02_organizational/api.chart"; + +/** API periodexam List */ +import periodexam from "./api/recruiting/api.period-exam"; +import disableexam from "./api/recruiting/api.disable"; + +/** API Recruit List */ +import recruit from "./api/recruiting/api.recruit"; + +/** API Profile List */ +import profile from "./api/registry/api.profile"; + +/** API Report2 List */ +import report2 from "./api/recruiting/api.report2"; + +/** API ระบบการบรรจุ แต่งตั้ง ย้าย โอน List */ +import placement from "./api/05_placement/api.placement"; + +/** API ระบบการพ้นจากราชการ List */ +import retirement from "./api/06_retirement/api.retirement"; + +/** API ระบบงานเครื่องราชอิสริยาภรณ์ List */ +import insignia from "./api/07_insignia/api.insignia"; + +// environment variables +export const compettitivePanel = import.meta.env.VITE_COMPETITIVE_EXAM_PANEL; +export const qualifyDisableExamPanel = import.meta.env + .VITE_QUALIFY_DISABLE_EMAM_PANEL; +export const qualifyExamPanel = import.meta.env.VITE_QUALIFY_EXAM_PANEL; +export const s3ClusterUrl = import.meta.env.VITE_S3CLUSTER_PUBLIC_URL; + +const API = { + //Metadata + ...manageOrganization, + ...managePerson, + ...managePosition, + ...managePositionEmployee, + ...manageInsignia, + ...manageHoliday, + + //Tree List + ...organizationTreeList, + ...organizationChart, + + //periodexam + ...periodexam, + ...disableexam, + + // recruit + ...recruit, + + //profile + ...profile, + + //report2 + ...report2, + + ...placement, + ...retirement, + ...insignia, +}; + +export default { + API: API, + compettitivePanel, + qualifyDisableExamPanel, + qualifyExamPanel, + s3ClusterUrl, +}; diff --git a/src/assets/avatar_user.jpg b/src/assets/avatar_user.jpg new file mode 100644 index 000000000..d4f27cb31 Binary files /dev/null and b/src/assets/avatar_user.jpg differ diff --git a/src/assets/base.css b/src/assets/base.css new file mode 100644 index 000000000..e69de29bb diff --git a/src/assets/ex_slip.jpeg b/src/assets/ex_slip.jpeg new file mode 100644 index 000000000..ae4807484 Binary files /dev/null and b/src/assets/ex_slip.jpeg differ diff --git a/src/assets/krungthai.png b/src/assets/krungthai.png new file mode 100644 index 000000000..f64c04a71 Binary files /dev/null and b/src/assets/krungthai.png differ diff --git a/src/assets/logo.png b/src/assets/logo.png new file mode 100644 index 000000000..3cdb64179 Binary files /dev/null and b/src/assets/logo.png differ diff --git a/src/assets/logo.svg b/src/assets/logo.svg new file mode 100644 index 000000000..bc826fed8 --- /dev/null +++ b/src/assets/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/main.css b/src/assets/main.css new file mode 100644 index 000000000..10a9330c7 --- /dev/null +++ b/src/assets/main.css @@ -0,0 +1,35 @@ +/* @import './base.css'; */ + +/* #app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} */ diff --git a/src/assets/orgChartData.ts b/src/assets/orgChartData.ts new file mode 100644 index 000000000..44a7164f5 --- /dev/null +++ b/src/assets/orgChartData.ts @@ -0,0 +1,11 @@ +const chartData = { + personID: "", // Unique ID เป็นเลข ID ที่อ้างอิงไปที่ตัวบุคคล + name: "-", // ขื่อบุคคล + positionName: "-", // ชื่อตำแหน่ง + positionNum: "", // เลขที่ประจำตำแหน่งในโครงสร้าง + departmentName: "", // ชื่อหน่วยงานที่สังกัด + avatar: "", // ภาพถ่าย + children: [], // บุคคลอื่น ๆ ที่อยู่ภายใต้คนนี้ มีโครงสร้างเหมือนกัน +}; + +export default chartData; diff --git a/src/assets/structChartData.ts b/src/assets/structChartData.ts new file mode 100644 index 000000000..bac5fe2ff --- /dev/null +++ b/src/assets/structChartData.ts @@ -0,0 +1,272 @@ +/** + * ข้อมูลจะเริ่มต้นที่ Root ที่มีเพียงอันเดียว แล้วแตกรากลงมา ชื่อฟิลด์ต่าง ๆ จะพยายามให้เหมือนกับ TreeList ฟิลด์ไหนใช้ชื่อต่างกันก็ระบุมาได้นะว่าใน TreeList ใช้อะไร จะได้ใช้ให้เหมือนกัน + * - Object ส่วนที่เป็นหน่วยงานประกอบด้วย + * - deptID : Unique ID ของสำนัก/ฝ่าย/กอง เป็น Int หรือ String ก็ได้ ขอแค่ระบุให้ชัด + * - departmentName : ชื่อสำนัก/ฝ่าย/กอง + * - totalPositionCount : จำนวนตำแหน่งทั้งหมดในหน่วยงาน หรือในส่วนงานย่อย + * - totalPositionVacant : จำนวนตำแหน่งว่างทั้งหมดในหน่วยงาน + * - นอกจากนั้นในแต่ละหน่วยงานยังมี Object ได้อีก 3 แบบคือ + * - heads : เป็น Array ของ Object ที่เก็บตำแหน่งระดับหัวหน้า + * - offcier : เป็น Array ของ Object ที่เก็บตำแหน่งระดับเจ้าหน้าที่ + * - children : เป็น Array ของหน่วยงานย่อย ซึ่ง Root ของ children ต้องเป็น Object ของหน่วยงานเสมอ + * - Object ส่วนที่เป็นตำแหน่งประกอบด้วย + * - positionID : Unique ID ของประเภทตำแหน่งนั้น เงื่อนไขเหมือน deptID + * - positionName : ชื่อตำแหน่ง + * - positionNum : เลขที่ประจำตำแหน่ง เช่น กทข. + * - totalPositionCount : จำนวนตำแหน่งทั้งหมด + * - totalPositionVacant : จำนวนตำแหน่งว่างทั้งหมด + */ +const chartData = { // root ของข้อมูลเป็น Object (ไม่ใช่ Array แบบ TreeList) + deptID: 1, // Unique ID ของสำนัก/ฝ่าย/กอง (ถ้ามี?) + departmentName: "สำนักงานเลขานุการผู้ว่าราชการกรุงเทพมหานคร", // ชื่อสำนัก/ฝ่าย/กอง + totalPositionCount: 75, // จำนวนตำแหน่งทั้งหมดในหน่วยงาน + totalPositionVacant: 2, // จำนวนตำแหน่งว่างทั้งหมดในหน่วยงาน + heads: [ // Array ของผู้บริหารในหน่วยงานนั้น ๆ (ผู้อำนวยการ/หัวหน้า) + { + positionID: 2, // Unique ID ของประเภทตำแหน่งนั้น (ถ้ามี?) + positionName: "ผู้อำนวยการสูง", // ชื่อตำแหน่ง + positionNum: "(หัวหน้าสำนักงาน)", // เลขที่ประจำตำแหน่ง (ถ้ามี) เช่นพวก กทข. + totalPositionCount: 1, // จำนวนตำแหน่งทั้งหมด + totalPositionVacant: 0 // จำนวนตำแหน่งว่างทั้งหมด + } + ], + officer: [ // Array ของเจ้าหน้าที่ในหน่วยงาน (รายการตำแหน่งในหน่วยงานที่ขึ้นตรงกับ deptID นั้น ๆ) + ], + children: [ // Array ของหน่วยงานย่อย เช่น ฝ่าย กอง + { // โครงสร้างที่เหลือจะเหมือนกับส่วน Root ทุกอย่าง คือแต่ละหน่วยงานย่อย มี heads ไว้ระบุหัวหน้า ผู้อำนวยการ มี Officer ไว้ระบุรายการตำแหน่งในหน่วยงาน มี Children ไว้ระบุหน่วยงานย่อย + deptID: 3, + departmentName: "ฝ่ายบริหารทั่วไป", + totalPositionCount: 14, + totalPositionVacant: 0, + heads: [ + { + positionID: 2, + positionName: "นักจัดการงานทั่วไป", + positionNum: "ชพ. (หัวหน้าฝ่าย)", + totalPositionCount: 1, + totalPositionVacant: 0 + } + ], + officer: [ + { + positionID: 3, + positionName: "นักจัดการงานทั่วไป", + positionNum: "ปก./ชก", + totalPositionCount: 1, + totalPositionVacant: 0 + }, + { + positionID: 4, + positionName: "นักทรัพยากรบุคคล", + positionNum: "ปก./ชก.", + totalPositionCount: 1, + totalPositionVacnt: 0 + }, + { + positionID: 5, + positionName: "นักวิชาการเงินและบัญชี", + positionNum: "ปก./ชก.", + totalPositionCount: 2, + totalPositionVacnt: 0 + }, + { + positionID: 6, + positionName: "นักวิชาการพัสดุ", + positionNum: "ปก./ชก.", + totalPositionCount: 1, + totalPositionVacnt: 0 + }, + { + positionID: 7, + positionName: "เจ้าพนักงานการเงินและบัญชี", + positionNum: "ปง./ชง.", + totalPositionCount: 3, + totalPositionVacnt: 0 + }, + { + positionID: 8, + positionName: "เจ้าพนักงานพัสดุ", + positionNum: "ปง./ชง.", + totalPositionCount: 1, + totalPositionVacnt: 0 + }, + { + positionID: 9, + positionName: "เจ้าพนักงานธุรการ", + positionNum: "ปง./ชง.", + totalPositionCount: 4, + totalPositionVacnt: 0 + } + ] + }, + { + deptID: 4, + departmentName: "ส่วนประสานนโยบาย", + totalPositionCount: 15, + totalPositionVacant: 0, + heads: [ + { + positionID: 10, + positionName: "ผู้อำนวยการต้น", + positionNum: "(ผู้อำนวยการส่วน)", + totalPositionCount: 1, + totalPositionVacant: 0, + } + ], + children: [ + { + deptID: 11, + departmentName: "กลุ่มงานประชุม", + totalPositionCount: 6, + totalPositionVacant: 0, + heads: [ + { + positionID: 11, + positionName: "นักจัดการงานทั่วไป", + positionNum: "ชพ. (หัวหน้ากลุ่มงาน)", + totalPositionCount: 1, + totalPositionVacant: 0, + } + ], + officer: [ + { + positionID: 12, + positionName: "นักจัดการงานทั่วไป", + positionNum: "ปก./ชก.", + totalPositionCount: 4, + totalPositionVacant: 0 + }, + { + positionID: 13, + positionName: "เจ้าพนักงานธุรการ", + positionNum: "ปง./ชง.", + totalPositionCount: 1, + totalPositionVacant: 0 + } + ] + }, + { + deptID: 12, + departmentName: "กลุ่มงานการเมืองและประสานนโยบาย", + totalPositionCount: 8, + totalPositionVacant: 0, + heads: [ + { + positionID: 14, + positionName: "นักจัดการงานทั่วไป", + positionNum: "ชพ. (หัวหน้ากลุ่มงาน)", + totalPositionCount: 1, + totalPositionVacant: 0, + } + ], + officer: [ + { + positionID: 15, + positionName: "นักจัดการงานทั่วไป", + positionNum: "ปก./ชก.", + totalPositionCount: 4, + totalPositionVacant: 0 + }, + { + positionID: 16, + positionName: "เจ้าพนักงานสถิติ", + positionNum: "ปง./ชง.", + totalPositionCount: 1, + totalPositionVacant: 0 + }, + { + positionID: 17, + positionName: "เจ้าพนักงานธุรการ", + positionNum: "ปง./ชง.", + totalPositionCount: 2, + totalPositionVacant: 0 + } + ] + } + + ] + }, + { + deptID: 14, + departmentName: "ส่วนเรื่องราวร้องทุกข์", + totalPositionCount: 15, + totalPositionVacant: 0, + heads: [ + { + positionID: 18, + positionName: "ผู้อำนวยการต้น", + positionNum: "(ผู้อำนวยการส่วน)", + totalPositionCount: 1, + totalPositionVacant: 0 + } + ], + children: [ + { + deptID: 15, + departmentName: "กลุ่มงานรับเรื่องราวร้องทุกข์", + totalPositionCount: 7, + totalPositionVacant: 0, + heads: [ + { + positionID: 19, + positionName: "นักจัดการงานทั่วไป", + positionNum: "ชพ. (หัวหน้ากลุ่มงาน)", + totalPositionCount: 1, + totalPositionVacant: 0 + } + ], + officer: [ + { + positionID: 20, + positionName: "นักจัดการงานทั่วไป", + positionNum: "ปก./ชก.", + totalPositionCount: 4, + totalPositionVacant: 0 + }, + { + positionID: 21, + positionName: "เจ้าพนักงานธุรการ", + positionNum: "ปง./ชง.", + totalPositionCount: 2, + totalPositionVacant: 0 + } + ] + }, + { + deptID: 16, + departmentName: "กลุ่มงานตรวจสอบ ติดตามและประมวลผล", + totalPositionCount: 7, + totalPositionVacant: 0, + heads: [ + { + positionID: 22, + positionName: "นักจัดการงานทั่วไป", + positionNum: "ชพ. (หัวหน้ากลุ่มงาน)", + totalPositionCount: 1, + totalPositionVacant: 0 + } + ], + officer: [ + { + positionID: 23, + positionName: "นักจัดการงานทั่วไป", + positionNum: "ปก./ชก.", + totalPositionCount: 4, + totalPositionVacant: 0 + }, + { + positionID: 24, + positionName: "เจ้าพนักงานธุรการ", + positionNum: "ปง./ชง.", + totalPositionCount: 2, + totalPositionVacant: 0 + } + ] + } + + ] + } + ] +} + +export default chartData \ No newline at end of file diff --git a/src/assets/tree.json b/src/assets/tree.json new file mode 100644 index 000000000..4b44cb9e5 --- /dev/null +++ b/src/assets/tree.json @@ -0,0 +1,8321 @@ +{ + "status": 200, + "message": "สำเร็จ", + "result": [ + { + "personId": "08db509d-3f35-4820-8203-a5e8080f5297", + "profileId": "08db509d-3f13-4b78-8dc4-31e4dcd2fa5a", + "organizationPositionId": "8a74d6a8-e309-452b-b603-82c1c99feb4b", + "positionMasterId": "c716e22c-d6ed-46cc-a4a3-3ae435768194", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", + "name": "นายณพ ดบ", + "positionNum": "สกก.1", + "positionName": "นักบริหาร (หัวหน้าสำนักงาน )", + "executivePosition": "หัวหน้าสำนักงาน ", + "positionType": "บริหาร", + "positionLevel": "สูง", + "positionLeaderFlag": true, + "keyId": "1-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "61a11705-8346-4336-8289-49f72ed9463f", + "children": null, + "positionNumInt": 1 + }, + { + "personId": "08db509d-3f48-4bf0-81b7-f4613d20062d", + "profileId": "08db509d-3f47-4337-8299-3a1331a59424", + "organizationPositionId": "15ec8c2b-796f-4fad-b731-667a232e723e", + "positionMasterId": "184f03f8-6f1c-487e-ae58-d19062974df7", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร", + "name": "นางสาวอญ พช", + "positionNum": "สกก.3", + "positionName": "นักบริหาร (ผู้ช่วยหัวหน้าสำนักงาน )", + "executivePosition": "ผู้ช่วยหัวหน้าสำนักงาน ", + "positionType": "บริหาร", + "positionLevel": "ต้น", + "positionLeaderFlag": false, + "keyId": "1-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "61a11705-8346-4336-8289-49f72ed9463f", + "children": null, + "positionNumInt": 3 + }, + { + "organizationCode": null, + "organizationName": "กองบริหารทั่วไป", + "totalPositionCount": 22, + "totalPositionVacant": 5, + "organizationParentId": "61a11705-8346-4336-8289-49f72ed9463f", + "keyId": "1-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "bedc5425-ebe8-4e91-a00d-95681d4e53c5", + "children": [ + { + "personId": "08db509d-3f54-497c-8a44-6536ff4edac3", + "profileId": "08db509d-3f53-4273-87ec-7caf992a54b3", + "organizationPositionId": "db786019-5933-4d5e-bc2f-7bcae28d9770", + "positionMasterId": "b118dc4d-b0ef-4bf1-a1b1-ddab01ac3d6f", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กองบริหารทั่วไป", + "name": "นางกน ฉพ", + "positionNum": "กบห.1", + "positionName": "ผู้อำนวยการ (ผู้อำนวยการกอง)", + "executivePosition": "ผู้อำนวยการกอง", + "positionType": "อำนวยการ", + "positionLevel": "ปฏิบัติงาน", + "positionLeaderFlag": true, + "keyId": "1-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "bedc5425-ebe8-4e91-a00d-95681d4e53c5", + "children": null, + "positionNumInt": 1 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานช่วยนักบริหาร", + "totalPositionCount": 3, + "totalPositionVacant": 0, + "organizationParentId": "bedc5425-ebe8-4e91-a00d-95681d4e53c5", + "keyId": "1-3-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "3491ac22-eea0-41ce-930a-f4c84528ed8c", + "children": [ + { + "personId": "08db509d-3f5f-4af5-8d1c-07d637aae372", + "profileId": "08db509d-3f5e-4153-808e-a412039e4d73", + "organizationPositionId": "ec62c0ab-979b-4374-9809-3fd7b4a2c0c3", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานช่วยนักบริหาร", + "name": "นางสาววญ สพ", + "positionNum": "กบห.2", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-3-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "3491ac22-eea0-41ce-930a-f4c84528ed8c", + "children": null, + "positionNumInt": 2 + }, + { + "personId": "08db509d-3f6a-44e7-8d37-87c2a72c90ef", + "profileId": "08db509d-3f68-4dc6-8e45-9e5ba0b78885", + "organizationPositionId": "110d8ed8-586a-43ae-8992-3100cf4a2774", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานช่วยนักบริหาร", + "name": "นายณฐ ออ", + "positionNum": "กบห.3", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-3-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "3491ac22-eea0-41ce-930a-f4c84528ed8c", + "children": null, + "positionNumInt": 3 + }, + { + "personId": "08db509d-3f75-4ede-8b93-40c073ff7ff2", + "profileId": "08db509d-3f73-42d8-855b-acffb0c00dad", + "organizationPositionId": "c62f1d4d-bf39-4883-b687-780a4fc64809", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานช่วยนักบริหาร", + "name": "นางสาวลภ จท", + "positionNum": "กบห.4", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-3-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "3491ac22-eea0-41ce-930a-f4c84528ed8c", + "children": null, + "positionNumInt": 4 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไปและการประชุม", + "totalPositionCount": 5, + "totalPositionVacant": 0, + "organizationParentId": "bedc5425-ebe8-4e91-a00d-95681d4e53c5", + "keyId": "1-3-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "53ef94f4-2a80-4fcd-8f31-af4c34664eda", + "children": [ + { + "personId": "08db509d-3f81-4ef8-8ad4-06397721d791", + "profileId": "08db509d-3f80-437c-87b7-c841f123b172", + "organizationPositionId": "f06f2188-f486-4b56-804d-b48d8761dee2", + "positionMasterId": "d5a1c0d1-7e09-43a0-af7e-0791505fd4cf", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไปและการประชุม", + "name": "นางสาวศม ศน", + "positionNum": "กบห.5", + "positionName": "นักจัดการงานทั่วไป (หัวหน้าฝ่าย)", + "executivePosition": "หัวหน้าฝ่าย", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-3-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "53ef94f4-2a80-4fcd-8f31-af4c34664eda", + "children": null, + "positionNumInt": 5 + }, + { + "personId": "08db509d-3f8d-4cd5-82b6-3e77b46abb8e", + "profileId": "08db509d-3f8c-47d8-8685-6bb0789d10c0", + "organizationPositionId": "dd1731ed-5fe0-4f3d-be3c-ee4e49c1e44a", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไปและการประชุม", + "name": "นางสาวพน อน", + "positionNum": "กบห.6", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-3-3-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "53ef94f4-2a80-4fcd-8f31-af4c34664eda", + "children": null, + "positionNumInt": 6 + }, + { + "personId": "08db509d-3f98-4f4a-8381-f143e14b6c25", + "profileId": "08db509d-3f97-496b-8c80-39f1ece5caf3", + "organizationPositionId": "3ed20fc2-5b5f-40ef-a9e7-c06aa8131ef7", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไปและการประชุม", + "name": "นางสาวบก ทท", + "positionNum": "กบห.7", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-3-3-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "53ef94f4-2a80-4fcd-8f31-af4c34664eda", + "children": null, + "positionNumInt": 7 + }, + { + "personId": "08db509d-3fa5-4bed-835b-703c66ac2e8b", + "profileId": "08db509d-3fa3-41a9-8a2e-37a9e6243e94", + "organizationPositionId": "bf643a74-4c4e-49ef-860d-1e1f9f0baf71", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไปและการประชุม", + "name": "นางสาวศพ สส", + "positionNum": "กบห.8", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-3-3-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "53ef94f4-2a80-4fcd-8f31-af4c34664eda", + "children": null, + "positionNumInt": 8 + }, + { + "personId": "08db509d-3fb5-4c12-82a6-005488feaec3", + "profileId": "08db509d-3fb3-42b8-8106-b853921394cf", + "organizationPositionId": "06ba8e4d-01a1-4e23-bd1e-5a052dc5e8b2", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไปและการประชุม", + "name": "นางจต ทท", + "positionNum": "กบห.9", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-3-3-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "53ef94f4-2a80-4fcd-8f31-af4c34664eda", + "children": null, + "positionNumInt": 9 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "ฝ่ายการคลัง", + "totalPositionCount": 8, + "totalPositionVacant": 3, + "organizationParentId": "bedc5425-ebe8-4e91-a00d-95681d4e53c5", + "keyId": "1-3-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "f99b4859-cc46-4adf-8f7a-558d329fbb2e", + "children": [ + { + "personId": "08db509d-3fc2-4972-8694-67fc7ecaae23", + "profileId": "08db509d-3fc0-4aff-87fb-83e4f6ab1db5", + "organizationPositionId": "6b6fac72-d713-4e2e-96cb-524fbea6b40b", + "positionMasterId": "8a7fe0b1-01dd-4234-a1cf-be3e6346e068", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายการคลัง", + "name": "นางสาวพพ พพ", + "positionNum": "กบห.10", + "positionName": "นักวิชาการเงินและบัญชี (หัวหน้าฝ่าย)", + "executivePosition": "หัวหน้าฝ่าย", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-3-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f99b4859-cc46-4adf-8f7a-558d329fbb2e", + "children": null, + "positionNumInt": 10 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "16ef3c0a-f83c-41bd-b533-ccf070ff1dc4", + "positionMasterId": "edea43aa-76cd-452c-aff7-bc867c2848ef", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายการคลัง", + "name": null, + "positionNum": "กบห.11", + "positionName": "นักวิชาการเงินและบัญชี", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ,ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-3-4-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f99b4859-cc46-4adf-8f7a-558d329fbb2e", + "children": null, + "positionNumInt": 11 + }, + { + "personId": "08db509d-3fd2-478f-837d-51ea87ccd3db", + "profileId": "08db509d-3fd0-4be9-8dd7-50b86f205e0a", + "organizationPositionId": "8a2e8ab7-cc69-475e-a51c-7d39eef3ef51", + "positionMasterId": "edea43aa-76cd-452c-aff7-bc867c2848ef", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายการคลัง", + "name": "นางสาวนม ตป", + "positionNum": "กบห.12", + "positionName": "นักวิชาการเงินและบัญชี", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-3-4-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f99b4859-cc46-4adf-8f7a-558d329fbb2e", + "children": null, + "positionNumInt": 12 + }, + { + "personId": "08db509d-3fde-4c21-8fec-90b011dce842", + "profileId": "08db509d-3fdc-4de3-845a-cd248100d19f", + "organizationPositionId": "401b5892-9d31-4c6b-9d61-93f560258b98", + "positionMasterId": "edea43aa-76cd-452c-aff7-bc867c2848ef", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายการคลัง", + "name": "นางสด นส", + "positionNum": "กบห.13", + "positionName": "นักวิชาการเงินและบัญชี", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-3-4-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f99b4859-cc46-4adf-8f7a-558d329fbb2e", + "children": null, + "positionNumInt": 13 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "ad3c2f13-f879-4501-8123-98ecd56be75c", + "positionMasterId": "edea43aa-76cd-452c-aff7-bc867c2848ef", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายการคลัง", + "name": null, + "positionNum": "กบห.14", + "positionName": "นักวิชาการเงินและบัญชี", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ,ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-3-4-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f99b4859-cc46-4adf-8f7a-558d329fbb2e", + "children": null, + "positionNumInt": 14 + }, + { + "personId": "08db509d-3fed-41d0-86ab-8eac0c34ef7a", + "profileId": "08db509d-3fea-43ab-8535-dec0d64dee03", + "organizationPositionId": "924a2662-d605-4a61-9c13-4db1757937f9", + "positionMasterId": "46eb4a40-90be-4c5d-a13d-4fe2e133bcf9", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายการคลัง", + "name": "นางสาวศอ อย", + "positionNum": "กบห.15", + "positionName": "นักวิชาการพัสดุ", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-3-4-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f99b4859-cc46-4adf-8f7a-558d329fbb2e", + "children": null, + "positionNumInt": 15 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "142b5c30-7507-4f2d-98a9-ca25eb8c09c5", + "positionMasterId": "756eecb1-b83f-4401-abee-10ced681ff82", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายการคลัง", + "name": null, + "positionNum": "กบห.16", + "positionName": "เจ้าพนักงานการเงินและบัญชี", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ปฏิบัติงาน,ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-3-4-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f99b4859-cc46-4adf-8f7a-558d329fbb2e", + "children": null, + "positionNumInt": 16 + }, + { + "personId": "08db509d-3ff9-46fc-8c20-3a737dbb5e52", + "profileId": "08db509d-3ff7-4742-8fea-d1290fa4e7a9", + "organizationPositionId": "70ce5dd5-d346-4623-bc69-49b5b50b13b7", + "positionMasterId": "756eecb1-b83f-4401-abee-10ced681ff82", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายการคลัง", + "name": "นางปศ พพ", + "positionNum": "กบห.17", + "positionName": "เจ้าพนักงานการเงินและบัญชี", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-3-4-8", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f99b4859-cc46-4adf-8f7a-558d329fbb2e", + "children": null, + "positionNumInt": 17 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "ฝ่ายการเจ้าหน้าที่", + "totalPositionCount": 5, + "totalPositionVacant": 2, + "organizationParentId": "bedc5425-ebe8-4e91-a00d-95681d4e53c5", + "keyId": "1-3-5", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "fcfe0bc3-cce8-4dda-8f0a-a2d45b4e5025", + "children": [ + { + "personId": "08db509d-4007-49ad-8b4d-3d4ac4db10b2", + "profileId": "08db509d-4005-4467-8b4a-ba14bdaf4ff9", + "organizationPositionId": "7eb00167-7ca3-4470-8bf9-996efca3d056", + "positionMasterId": "d128c347-0da9-48f6-8736-4b11c9f91d5a", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายการเจ้าหน้าที่", + "name": "นางสาวปภ จจ", + "positionNum": "กบห.18", + "positionName": "นักทรัพยากรบุคคล (หัวหน้าฝ่าย)", + "executivePosition": "หัวหน้าฝ่าย", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": true, + "keyId": "1-3-5-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "fcfe0bc3-cce8-4dda-8f0a-a2d45b4e5025", + "children": null, + "positionNumInt": 18 + }, + { + "personId": "08db509d-4015-4e57-8f59-8c4373610251", + "profileId": "08db509d-4014-4259-8f2e-dc88e35f0d34", + "organizationPositionId": "a05e2df0-0a19-4335-92c3-0aebae285699", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายการเจ้าหน้าที่", + "name": "นางสาวนว คศ", + "positionNum": "กบห.19", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-3-5-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "fcfe0bc3-cce8-4dda-8f0a-a2d45b4e5025", + "children": null, + "positionNumInt": 19 + }, + { + "personId": "08db509d-4022-467b-8e71-27cb5b96ac78", + "profileId": "08db509d-4021-40b2-8d43-6cc1f9f2f14c", + "organizationPositionId": "0a92b29d-d10c-405c-84d3-ca5f7ac49379", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายการเจ้าหน้าที่", + "name": "นางสาวดพ คป", + "positionNum": "กบห.20", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-3-5-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "fcfe0bc3-cce8-4dda-8f0a-a2d45b4e5025", + "children": null, + "positionNumInt": 20 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "cf17d983-58d1-45b8-b74e-e0ee1dae82cf", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายการเจ้าหน้าที่", + "name": null, + "positionNum": "กบห.21", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-3-5-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "fcfe0bc3-cce8-4dda-8f0a-a2d45b4e5025", + "children": null, + "positionNumInt": 21 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "f46829a0-21ce-41a4-a686-8e775077d1c9", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายการเจ้าหน้าที่", + "name": null, + "positionNum": "กบห.22", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-3-5-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "fcfe0bc3-cce8-4dda-8f0a-a2d45b4e5025", + "children": null, + "positionNumInt": 22 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กองสรรหาบุคคล", + "totalPositionCount": 27, + "totalPositionVacant": 1, + "organizationParentId": "61a11705-8346-4336-8289-49f72ed9463f", + "keyId": "1-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "f16d677d-9ac6-4e36-a4ef-3328fef8a64a", + "children": [ + { + "personId": "08db509d-402e-40e4-887d-bfb1cbb3a00b", + "profileId": "08db509d-402c-42c3-818e-858aad23571c", + "organizationPositionId": "8258f7ce-013a-43f5-a214-b3727a58ccdf", + "positionMasterId": "b118dc4d-b0ef-4bf1-a1b1-ddab01ac3d6f", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กองสรรหาบุคคล", + "name": "นางสาวจร รก", + "positionNum": "กสบ.1", + "positionName": "ผู้อำนวยการ (ผู้อำนวยการกอง)", + "executivePosition": "ผู้อำนวยการกอง", + "positionType": "อำนวยการ", + "positionLevel": "ต้น", + "positionLeaderFlag": true, + "keyId": "1-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f16d677d-9ac6-4e36-a4ef-3328fef8a64a", + "children": null, + "positionNumInt": 1 + }, + { + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "totalPositionCount": 5, + "totalPositionVacant": 0, + "organizationParentId": "f16d677d-9ac6-4e36-a4ef-3328fef8a64a", + "keyId": "1-4-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "94308e5f-2d0a-4975-a5f1-a9b25f7de263", + "children": [ + { + "personId": "08db509d-403b-4a1a-8d44-c71f596f8f8c", + "profileId": "08db509d-4039-4a38-8865-e061b2599b72", + "organizationPositionId": "b168932f-9483-419b-9cf6-19f42377a730", + "positionMasterId": "d5a1c0d1-7e09-43a0-af7e-0791505fd4cf", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": "นางสาวชญ วก", + "positionNum": "กสบ.2", + "positionName": "นักจัดการงานทั่วไป (หัวหน้าฝ่าย)", + "executivePosition": "หัวหน้าฝ่าย", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-4-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "94308e5f-2d0a-4975-a5f1-a9b25f7de263", + "children": null, + "positionNumInt": 2 + }, + { + "personId": "08db509d-404b-4de4-83d7-af94247ee66e", + "profileId": "08db509d-4048-45c2-8361-b1815065e9bd", + "organizationPositionId": "243fd0ca-2a04-4885-9e03-06a5c1f85449", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": "นางสาวชล ปด", + "positionNum": "กสบ.3", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-4-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "94308e5f-2d0a-4975-a5f1-a9b25f7de263", + "children": null, + "positionNumInt": 3 + }, + { + "personId": "08db509d-4056-4aff-8b0b-704f2a0a7bf9", + "profileId": "08db509d-4055-4042-819b-9ccbafea30f1", + "organizationPositionId": "99c6837f-9a82-46d3-b4d6-4748d5741842", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": "นางปณ ดม", + "positionNum": "กสบ.4", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-4-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "94308e5f-2d0a-4975-a5f1-a9b25f7de263", + "children": null, + "positionNumInt": 4 + }, + { + "personId": "08db509d-4061-46be-8d95-be02b2543589", + "profileId": "08db509d-405f-4ccc-8adf-9e4af28e4643", + "organizationPositionId": "e5ee9928-ef84-45ba-b28e-4312071d4783", + "positionMasterId": "2b26066c-9bf8-4ff8-92c6-a115f992d96a", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": "นางสาวธพ จพ", + "positionNum": "กสบ.5", + "positionName": "เจ้าพนักงานธุรการ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-4-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "94308e5f-2d0a-4975-a5f1-a9b25f7de263", + "children": null, + "positionNumInt": 5 + }, + { + "personId": "08db509d-406b-4a8a-845d-386e4dfafaac", + "profileId": "08db509d-406a-4433-85c1-8f6eba9de1a7", + "organizationPositionId": "b3bd9a0d-0559-48aa-9686-79ad3f4d6a21", + "positionMasterId": "2b26066c-9bf8-4ff8-92c6-a115f992d96a", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": "นางทว ยส", + "positionNum": "กสบ.6", + "positionName": "เจ้าพนักงานธุรการ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-4-2-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "94308e5f-2d0a-4975-a5f1-a9b25f7de263", + "children": null, + "positionNumInt": 6 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 1", + "totalPositionCount": 4, + "totalPositionVacant": 0, + "organizationParentId": "f16d677d-9ac6-4e36-a4ef-3328fef8a64a", + "keyId": "1-4-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "9ed66988-2d0a-46f4-80b1-92fa84777a6b", + "children": [ + { + "personId": "08db509d-4078-4035-8ee3-4c2f61701e0c", + "profileId": "08db509d-4075-4abf-800d-e985c36c96c7", + "organizationPositionId": "e2c90678-9b46-4b39-8260-7ff885267ff1", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 1", + "name": "นางสาวกป คป", + "positionNum": "กสบ.7", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-4-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9ed66988-2d0a-46f4-80b1-92fa84777a6b", + "children": null, + "positionNumInt": 7 + }, + { + "personId": "08db509d-4084-4888-8d9d-c657d5f27242", + "profileId": "08db509d-4082-4ec5-8c03-cf86894f4669", + "organizationPositionId": "689f5f65-c9fa-4720-8dd6-a7b72b08999b", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 1", + "name": "นายอช วย", + "positionNum": "กสบ.8", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-4-3-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9ed66988-2d0a-46f4-80b1-92fa84777a6b", + "children": null, + "positionNumInt": 8 + }, + { + "personId": "08db509d-408e-4782-8865-25b49b4a3ccb", + "profileId": "08db509d-408c-4e9c-85f4-51aa8374555f", + "organizationPositionId": "56459d2a-bf38-44b3-bfc5-bffb4317ad99", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 1", + "name": "นางสาวมร ตช", + "positionNum": "กสบ.9", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-4-3-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9ed66988-2d0a-46f4-80b1-92fa84777a6b", + "children": null, + "positionNumInt": 9 + }, + { + "personId": "08db509d-409a-4b4a-8eda-cad084a4e59c", + "profileId": "08db509d-4098-4c6e-8b09-d6589b85ddf2", + "organizationPositionId": "31a64d84-f670-460f-9d49-5af00ca44545", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 1", + "name": "นางสาวบภ กก", + "positionNum": "กสบ.10", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-4-3-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9ed66988-2d0a-46f4-80b1-92fa84777a6b", + "children": null, + "positionNumInt": 10 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 2", + "totalPositionCount": 4, + "totalPositionVacant": 0, + "organizationParentId": "f16d677d-9ac6-4e36-a4ef-3328fef8a64a", + "keyId": "1-4-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "190a2b6a-4f71-4df1-8b29-c61d13820bc5", + "children": [ + { + "personId": "08db509d-40a8-4b7e-8709-39195fd446d7", + "profileId": "08db509d-40a6-4397-81a4-b05020654401", + "organizationPositionId": "43921167-513a-4228-b1a0-4694e2e91c7f", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 2", + "name": "นางศก อก", + "positionNum": "กสบ.11", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-4-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "190a2b6a-4f71-4df1-8b29-c61d13820bc5", + "children": null, + "positionNumInt": 11 + }, + { + "personId": "08db509d-40b3-40e4-8375-118488a1ffcc", + "profileId": "08db509d-40b1-486f-8489-d32314a7d5ac", + "organizationPositionId": "ba39be6f-e80d-438d-be10-d5ae691d7f4f", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 2", + "name": "นางนช ปอ", + "positionNum": "กสบ.12", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-4-4-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "190a2b6a-4f71-4df1-8b29-c61d13820bc5", + "children": null, + "positionNumInt": 12 + }, + { + "personId": "08db509d-40c1-4381-8c7c-7145ee2b4682", + "profileId": "08db509d-40bf-4959-8c90-a8b315e76e73", + "organizationPositionId": "49f8b331-5c5a-4030-a64d-ce329524056b", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 2", + "name": "นางสาวรภ กภ", + "positionNum": "กสบ.13", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-4-4-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "190a2b6a-4f71-4df1-8b29-c61d13820bc5", + "children": null, + "positionNumInt": 13 + }, + { + "personId": "08db509d-40cc-4e0e-8ef3-9fe060b2940e", + "profileId": "08db509d-40cb-4358-8ca0-f1080071fc58", + "organizationPositionId": "2d0f940a-810c-44d0-87c9-98a06f9d907c", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 2", + "name": "นางสาวปฉ จจ", + "positionNum": "กสบ.14", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-4-4-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "190a2b6a-4f71-4df1-8b29-c61d13820bc5", + "children": null, + "positionNumInt": 14 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 3", + "totalPositionCount": 4, + "totalPositionVacant": 0, + "organizationParentId": "f16d677d-9ac6-4e36-a4ef-3328fef8a64a", + "keyId": "1-4-5", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "5f57365b-98e9-4965-bab9-9e4fb6c6f22d", + "children": [ + { + "personId": "08db509d-40d7-4d87-885c-245a1c402bc3", + "profileId": "08db509d-40d6-42c3-8eec-f8cb540b48d1", + "organizationPositionId": "f5840d08-923a-4539-bcd9-532e55e9be16", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 3", + "name": "นางสาวสบ พท", + "positionNum": "กสบ.15", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-4-5-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5f57365b-98e9-4965-bab9-9e4fb6c6f22d", + "children": null, + "positionNumInt": 15 + }, + { + "personId": "08db509d-40e5-4315-8722-52d9740054fa", + "profileId": "08db509d-40e3-4838-842f-9852836c71d3", + "organizationPositionId": "e4c29911-7411-4adc-8b6c-4a271a2e385a", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 3", + "name": "นางสาวหร จก", + "positionNum": "กสบ.16", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-4-5-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5f57365b-98e9-4965-bab9-9e4fb6c6f22d", + "children": null, + "positionNumInt": 16 + }, + { + "personId": "08db509d-40f0-4708-87e9-131e901eeb9d", + "profileId": "08db509d-40ee-48f9-8b2c-c05bf26c331d", + "organizationPositionId": "18f4f525-7316-414c-bda4-1f9852201045", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 3", + "name": "นางสาวอล พพ", + "positionNum": "กสบ.17", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-4-5-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5f57365b-98e9-4965-bab9-9e4fb6c6f22d", + "children": null, + "positionNumInt": 17 + }, + { + "personId": "08db509d-40fc-427c-8da1-a01f55b8ef7b", + "profileId": "08db509d-40fa-4589-8daf-ab1e4351277c", + "organizationPositionId": "94068558-16af-43f1-b35b-839709674459", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสรรหาบุคคล 3", + "name": "นายจก จท", + "positionNum": "กสบ.18", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-4-5-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5f57365b-98e9-4965-bab9-9e4fb6c6f22d", + "children": null, + "positionNumInt": 18 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบการสรรหา", + "totalPositionCount": 4, + "totalPositionVacant": 0, + "organizationParentId": "f16d677d-9ac6-4e36-a4ef-3328fef8a64a", + "keyId": "1-4-6", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "28f1f5b7-1655-4faa-8e2c-c5faae84431f", + "children": [ + { + "personId": "08db509d-4107-4923-8155-1646a484e40a", + "profileId": "08db509d-4105-47d0-80f6-93a63f47d574", + "organizationPositionId": "4104bca0-9911-465d-a425-ee61d699b007", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบการสรรหา", + "name": "นางสาวพพ ออ", + "positionNum": "กสบ.19", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-4-6-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "28f1f5b7-1655-4faa-8e2c-c5faae84431f", + "children": null, + "positionNumInt": 19 + }, + { + "personId": "08db509d-4113-4833-8ea9-058f199de71b", + "profileId": "08db509d-4111-4cdd-8f82-d74d3a574936", + "organizationPositionId": "53757349-5337-453f-b738-5ef918bd0248", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบการสรรหา", + "name": "นางสาวชภ นป", + "positionNum": "กสบ.20", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-4-6-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "28f1f5b7-1655-4faa-8e2c-c5faae84431f", + "children": null, + "positionNumInt": 20 + }, + { + "personId": "08db509d-411f-428a-87b7-4b342760ba46", + "profileId": "08db509d-411c-4f49-875e-7012e061be8d", + "organizationPositionId": "d466de75-41b6-432d-8da3-68556f9c6899", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบการสรรหา", + "name": "นางสาวหก มห", + "positionNum": "กสบ.21", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-4-6-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "28f1f5b7-1655-4faa-8e2c-c5faae84431f", + "children": null, + "positionNumInt": 21 + }, + { + "personId": "08db509d-412a-4b6a-8ddc-7307c1587ec3", + "profileId": "08db509d-4129-4370-8db6-8b3c8efc8783", + "organizationPositionId": "d2809980-84f6-4484-a11b-f35922f7d4ff", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบการสรรหา", + "name": "นางสาวจร พพ", + "positionNum": "กสบ.22", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-4-6-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "28f1f5b7-1655-4faa-8e2c-c5faae84431f", + "children": null, + "positionNumInt": 22 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานการสรรหา", + "totalPositionCount": 5, + "totalPositionVacant": 1, + "organizationParentId": "f16d677d-9ac6-4e36-a4ef-3328fef8a64a", + "keyId": "1-4-7", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "ef6c50fa-a446-4623-994a-037fab047725", + "children": [ + { + "personId": "08db509d-4135-4ee4-8bc7-ce4e96bdcfe7", + "profileId": "08db509d-4134-42a4-8054-063fdfb9e6d9", + "organizationPositionId": "8060cd4b-ce3d-462d-af1f-bf09cf3e3a4d", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานการสรรหา", + "name": "นางปก ยส", + "positionNum": "กสบ.23", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": true, + "keyId": "1-4-7-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ef6c50fa-a446-4623-994a-037fab047725", + "children": null, + "positionNumInt": 23 + }, + { + "personId": "08db509d-4142-47f8-8064-7c9a4d61b635", + "profileId": "08db509d-4141-40ba-82ba-eb92a14fc91a", + "organizationPositionId": "7c3d57d6-4112-4c13-a7f9-63880cc2878f", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานการสรรหา", + "name": "นายชพ รภ", + "positionNum": "กสบ.24", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-4-7-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ef6c50fa-a446-4623-994a-037fab047725", + "children": null, + "positionNumInt": 24 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "d8fe7d97-d70d-4287-b05a-7329d4f09616", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานการสรรหา", + "name": null, + "positionNum": "กสบ.25", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-4-7-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ef6c50fa-a446-4623-994a-037fab047725", + "children": null, + "positionNumInt": 25 + }, + { + "personId": "08db509d-414d-4660-8897-6d4b9ced9159", + "profileId": "08db509d-414b-4bb6-82ca-518320996265", + "organizationPositionId": "84218357-3dc6-45fa-b01e-adf90e4838d1", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานการสรรหา", + "name": "นางสาวณณ ภญ", + "positionNum": "กสบ.26", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-4-7-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ef6c50fa-a446-4623-994a-037fab047725", + "children": null, + "positionNumInt": 26 + }, + { + "personId": "08db509d-4159-41df-8728-f63269432d80", + "profileId": "08db509d-4157-47e6-8e12-e548cdfe5ca7", + "organizationPositionId": "f9edd0a2-b85f-4869-b388-47f3c2adccf0", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานการสรรหา", + "name": "นายมร วห", + "positionNum": "กสบ.27", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-4-7-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ef6c50fa-a446-4623-994a-037fab047725", + "children": null, + "positionNumInt": 27 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "สถาบันพัฒนาทรัพยากรบุคคลกรุงเทพมหานคร", + "totalPositionCount": 94, + "totalPositionVacant": 94, + "organizationParentId": "61a11705-8346-4336-8289-49f72ed9463f", + "keyId": "1-5", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "0132071e-8977-4260-85f2-f0a4d20dd9e9", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "af595700-4829-4e21-a7d2-6b3555a8e6da", + "positionMasterId": "3173dfd9-3b4f-40f9-818d-3daf5c18f092", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "สถาบันพัฒนาทรัพยากรบุคคลกรุงเทพมหานคร", + "name": null, + "positionNum": "สพท.1", + "positionName": "ผู้อำนวยการ (ผู้อำนวยการสถาบัน)", + "executivePosition": "ผู้อำนวยการสถาบัน", + "positionType": "อำนวยการ", + "positionLevel": "สูง", + "positionLeaderFlag": true, + "keyId": "1-5-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "0132071e-8977-4260-85f2-f0a4d20dd9e9", + "children": null, + "positionNumInt": 1 + }, + { + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "totalPositionCount": 11, + "totalPositionVacant": 11, + "organizationParentId": "0132071e-8977-4260-85f2-f0a4d20dd9e9", + "keyId": "1-5-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "5bbae989-0462-4820-9768-0e1733e2b3ce", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "5d99607b-dc59-4877-bbdb-0a892c34115e", + "positionMasterId": "d5a1c0d1-7e09-43a0-af7e-0791505fd4cf", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": null, + "positionNum": "สพท.2", + "positionName": "นักจัดการงานทั่วไป (หัวหน้าฝ่าย)", + "executivePosition": "หัวหน้าฝ่าย", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-5-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5bbae989-0462-4820-9768-0e1733e2b3ce", + "children": null, + "positionNumInt": 2 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "1fd406ea-9c6c-43fd-845d-9ec309e1f2a8", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": null, + "positionNum": "สพท.3", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ,ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-5-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5bbae989-0462-4820-9768-0e1733e2b3ce", + "children": null, + "positionNumInt": 3 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "8883b674-f2ce-477b-9457-3bc812747324", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": null, + "positionNum": "สพท.4", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ,ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-5-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5bbae989-0462-4820-9768-0e1733e2b3ce", + "children": null, + "positionNumInt": 4 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "8ffcf7e4-d371-4183-b29a-74d07a832f4c", + "positionMasterId": "756eecb1-b83f-4401-abee-10ced681ff82", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": null, + "positionNum": "สพท.5", + "positionName": "เจ้าพนักงานการเงินและบัญชี", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ปฏิบัติงาน,ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-5-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5bbae989-0462-4820-9768-0e1733e2b3ce", + "children": null, + "positionNumInt": 5 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "1dbd162a-06ab-4e92-ba81-0e0a8147d4f8", + "positionMasterId": "756eecb1-b83f-4401-abee-10ced681ff82", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": null, + "positionNum": "สพท.6", + "positionName": "เจ้าพนักงานการเงินและบัญชี", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ปฏิบัติงาน,ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-5-2-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5bbae989-0462-4820-9768-0e1733e2b3ce", + "children": null, + "positionNumInt": 6 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "dae79a1b-d90b-43ba-8e73-c9da8ce4ae1c", + "positionMasterId": "756eecb1-b83f-4401-abee-10ced681ff82", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": null, + "positionNum": "สพท.7", + "positionName": "เจ้าพนักงานการเงินและบัญชี", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ปฏิบัติงาน,ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-5-2-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5bbae989-0462-4820-9768-0e1733e2b3ce", + "children": null, + "positionNumInt": 7 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "f67e3b24-91ab-4f07-943b-a94436d37083", + "positionMasterId": "756eecb1-b83f-4401-abee-10ced681ff82", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": null, + "positionNum": "สพท.8", + "positionName": "เจ้าพนักงานการเงินและบัญชี", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ปฏิบัติงาน,ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-5-2-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5bbae989-0462-4820-9768-0e1733e2b3ce", + "children": null, + "positionNumInt": 8 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "412e54e5-a7fa-4eef-9682-b89e3d147f33", + "positionMasterId": "b6e7fe97-8ec7-4f58-87b0-3fb291d43bc6", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": null, + "positionNum": "สพท.9", + "positionName": "เจ้าพนักงานพัสดุ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ปฏิบัติงาน,ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-5-2-8", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5bbae989-0462-4820-9768-0e1733e2b3ce", + "children": null, + "positionNumInt": 9 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "79977db2-12c7-4500-8a3b-3167c6b3075a", + "positionMasterId": "2b26066c-9bf8-4ff8-92c6-a115f992d96a", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": null, + "positionNum": "สพท.10", + "positionName": "เจ้าพนักงานธุรการ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน,ปฏิบัติงาน", + "positionLeaderFlag": false, + "keyId": "1-5-2-9", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5bbae989-0462-4820-9768-0e1733e2b3ce", + "children": null, + "positionNumInt": 10 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "624975ae-76a0-4242-b842-1120fe84165d", + "positionMasterId": "2b26066c-9bf8-4ff8-92c6-a115f992d96a", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": null, + "positionNum": "สพท.11", + "positionName": "เจ้าพนักงานธุรการ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน,ปฏิบัติงาน", + "positionLeaderFlag": false, + "keyId": "1-5-2-10", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5bbae989-0462-4820-9768-0e1733e2b3ce", + "children": null, + "positionNumInt": 11 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "796e813e-90d9-4a00-9c11-df0fa564cfc0", + "positionMasterId": "2b26066c-9bf8-4ff8-92c6-a115f992d96a", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป ", + "name": null, + "positionNum": "สพท.12", + "positionName": "เจ้าพนักงานธุรการ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน,ปฏิบัติงาน", + "positionLeaderFlag": false, + "keyId": "1-5-2-11", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5bbae989-0462-4820-9768-0e1733e2b3ce", + "children": null, + "positionNumInt": 12 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "ส่วนส่งเสริมการพัฒนาทรัพยากรบุคคล", + "totalPositionCount": 27, + "totalPositionVacant": 27, + "organizationParentId": "0132071e-8977-4260-85f2-f0a4d20dd9e9", + "keyId": "1-5-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "4a9d52db-fb72-4170-a41c-3e53461b397b", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "0f5f885c-7db9-46f2-bfa1-57a994849cd9", + "positionMasterId": "646227c6-88d9-45d6-bf9e-d58cd7730f54", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ส่วนส่งเสริมการพัฒนาทรัพยากรบุคคล", + "name": null, + "positionNum": "สพท.13", + "positionName": "ผู้อำนวยการ (ผู้อำนวยการส่วน)", + "executivePosition": "ผู้อำนวยการส่วน", + "positionType": "อำนวยการ", + "positionLevel": "ต้น", + "positionLeaderFlag": true, + "keyId": "1-5-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "4a9d52db-fb72-4170-a41c-3e53461b397b", + "children": null, + "positionNumInt": 13 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานวิเคราะห์การพัฒนาทรัพยากรบุคคล", + "totalPositionCount": 7, + "totalPositionVacant": 7, + "organizationParentId": "4a9d52db-fb72-4170-a41c-3e53461b397b", + "keyId": "1-5-3-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "eb21bd16-f6c6-4a79-b9df-97396713d063", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "65b02c9a-3c11-4e25-add7-4f30fa6d37d5", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวิเคราะห์การพัฒนาทรัพยากรบุคคล", + "name": null, + "positionNum": "สพท.14", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-5-3-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "eb21bd16-f6c6-4a79-b9df-97396713d063", + "children": null, + "positionNumInt": 14 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "c460506e-259e-4a14-b063-beeff8270c95", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวิเคราะห์การพัฒนาทรัพยากรบุคคล", + "name": null, + "positionNum": "สพท.15", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "eb21bd16-f6c6-4a79-b9df-97396713d063", + "children": null, + "positionNumInt": 15 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "6a3e2cd5-f3dd-4e9e-b3cf-f46ff7503c08", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวิเคราะห์การพัฒนาทรัพยากรบุคคล", + "name": null, + "positionNum": "สพท.16", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "eb21bd16-f6c6-4a79-b9df-97396713d063", + "children": null, + "positionNumInt": 16 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "07107e67-8946-47aa-8ff4-70109f35295f", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวิเคราะห์การพัฒนาทรัพยากรบุคคล", + "name": null, + "positionNum": "สพท.17", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "eb21bd16-f6c6-4a79-b9df-97396713d063", + "children": null, + "positionNumInt": 17 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "5d97c12f-fd69-4526-b001-6e9167b07c19", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวิเคราะห์การพัฒนาทรัพยากรบุคคล", + "name": null, + "positionNum": "สพท.18", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-2-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "eb21bd16-f6c6-4a79-b9df-97396713d063", + "children": null, + "positionNumInt": 18 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "ecc196f8-bb74-4175-8cee-b07858d553c4", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวิเคราะห์การพัฒนาทรัพยากรบุคคล", + "name": null, + "positionNum": "สพท.19", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-2-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "eb21bd16-f6c6-4a79-b9df-97396713d063", + "children": null, + "positionNumInt": 19 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "a0308ffe-6a0f-4874-ad4f-5928911bc5ea", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวิเคราะห์การพัฒนาทรัพยากรบุคคล", + "name": null, + "positionNum": "สพท.20", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-2-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "eb21bd16-f6c6-4a79-b9df-97396713d063", + "children": null, + "positionNumInt": 20 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมการพัฒนาในประเทศ", + "totalPositionCount": 6, + "totalPositionVacant": 6, + "organizationParentId": "4a9d52db-fb72-4170-a41c-3e53461b397b", + "keyId": "1-5-3-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "88cfc2e1-4fad-4e86-a9b3-1370d3be3f91", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "57eaf5df-58c4-42b2-86b6-5be971d51aa8", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมการพัฒนาในประเทศ", + "name": null, + "positionNum": "สพท.21", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-5-3-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "88cfc2e1-4fad-4e86-a9b3-1370d3be3f91", + "children": null, + "positionNumInt": 21 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "ab70dca1-3ef9-4746-a850-1043f262d3a5", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมการพัฒนาในประเทศ", + "name": null, + "positionNum": "สพท.22", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-3-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "88cfc2e1-4fad-4e86-a9b3-1370d3be3f91", + "children": null, + "positionNumInt": 22 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "c59ed07b-fee9-4e72-ab6e-c621879ec1d9", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมการพัฒนาในประเทศ", + "name": null, + "positionNum": "สพท.23", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-3-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "88cfc2e1-4fad-4e86-a9b3-1370d3be3f91", + "children": null, + "positionNumInt": 23 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "552ed262-4ff2-4a77-aa4c-a04d0992c312", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมการพัฒนาในประเทศ", + "name": null, + "positionNum": "สพท.24", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-3-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "88cfc2e1-4fad-4e86-a9b3-1370d3be3f91", + "children": null, + "positionNumInt": 24 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "496fd5de-f0b0-405d-a8f6-1eccd5cfc71f", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมการพัฒนาในประเทศ", + "name": null, + "positionNum": "สพท.25", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-3-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "88cfc2e1-4fad-4e86-a9b3-1370d3be3f91", + "children": null, + "positionNumInt": 25 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "a245c0e0-014a-4eb7-a3ee-bba1e585daa8", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมการพัฒนาในประเทศ", + "name": null, + "positionNum": "สพท.26", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-3-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "88cfc2e1-4fad-4e86-a9b3-1370d3be3f91", + "children": null, + "positionNumInt": 26 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมการพัฒนาต่างประเทศ", + "totalPositionCount": 4, + "totalPositionVacant": 4, + "organizationParentId": "4a9d52db-fb72-4170-a41c-3e53461b397b", + "keyId": "1-5-3-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "b2ad489e-3a54-4611-a8c8-d7edd45623ef", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "2b8fde41-6621-42b3-ba3f-c468d48123af", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมการพัฒนาต่างประเทศ", + "name": null, + "positionNum": "สพท.27", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-5-3-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "b2ad489e-3a54-4611-a8c8-d7edd45623ef", + "children": null, + "positionNumInt": 27 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "5367e742-3607-4430-856d-3ced539d37ab", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมการพัฒนาต่างประเทศ", + "name": null, + "positionNum": "สพท.28", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-4-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "b2ad489e-3a54-4611-a8c8-d7edd45623ef", + "children": null, + "positionNumInt": 28 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "57f22104-0693-4209-af8c-1406b2faf502", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมการพัฒนาต่างประเทศ", + "name": null, + "positionNum": "สพท.29", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-4-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "b2ad489e-3a54-4611-a8c8-d7edd45623ef", + "children": null, + "positionNumInt": 29 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "d39de9f2-7c5f-4723-8bb4-b563ebb7bdec", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมการพัฒนาต่างประเทศ", + "name": null, + "positionNum": "สพท.30", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-4-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "b2ad489e-3a54-4611-a8c8-d7edd45623ef", + "children": null, + "positionNumInt": 30 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมนวัตกรรมการเรียนรู้", + "totalPositionCount": 9, + "totalPositionVacant": 9, + "organizationParentId": "4a9d52db-fb72-4170-a41c-3e53461b397b", + "keyId": "1-5-3-5", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "af2d5fd4-1d12-4ce4-865a-fbcc6d9a6b2a", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "1295746d-e021-4278-9d30-ae8b8aef4ec3", + "positionMasterId": "1d6d16d0-3639-4fe6-bfde-6b7073d956de", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมนวัตกรรมการเรียนรู้", + "name": null, + "positionNum": "สพท.31", + "positionName": "นักวิชาการโสตทัศนศึกษา (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-5-3-5-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "af2d5fd4-1d12-4ce4-865a-fbcc6d9a6b2a", + "children": null, + "positionNumInt": 31 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "695c4c30-0349-4388-803f-1a958dda8d48", + "positionMasterId": "26e2bb8c-8733-4d9b-b459-94922c6f93c1", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมนวัตกรรมการเรียนรู้", + "name": null, + "positionNum": "สพท.32", + "positionName": "นักวิชาการโสตทัศนศึกษา", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ,ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-5-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "af2d5fd4-1d12-4ce4-865a-fbcc6d9a6b2a", + "children": null, + "positionNumInt": 32 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "3661bb77-c517-4260-9aed-0c61a6434369", + "positionMasterId": "26e2bb8c-8733-4d9b-b459-94922c6f93c1", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมนวัตกรรมการเรียนรู้", + "name": null, + "positionNum": "สพท.33", + "positionName": "นักวิชาการโสตทัศนศึกษา", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ,ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-5-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "af2d5fd4-1d12-4ce4-865a-fbcc6d9a6b2a", + "children": null, + "positionNumInt": 33 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "a8ba506a-0c0e-471f-9753-d0ddc0c803d0", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมนวัตกรรมการเรียนรู้", + "name": null, + "positionNum": "สพท.34", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-5-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "af2d5fd4-1d12-4ce4-865a-fbcc6d9a6b2a", + "children": null, + "positionNumInt": 34 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "7e8d2525-6882-4d69-91b9-d16edb29fd0a", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมนวัตกรรมการเรียนรู้", + "name": null, + "positionNum": "สพท.35", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-5-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "af2d5fd4-1d12-4ce4-865a-fbcc6d9a6b2a", + "children": null, + "positionNumInt": 35 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "7d5e0bf8-8963-4966-b63b-0818bd3065b1", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมนวัตกรรมการเรียนรู้", + "name": null, + "positionNum": "สพท.36", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-5-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "af2d5fd4-1d12-4ce4-865a-fbcc6d9a6b2a", + "children": null, + "positionNumInt": 36 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "a1e27c8e-c504-44fa-b7cf-a9fb53638267", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมนวัตกรรมการเรียนรู้", + "name": null, + "positionNum": "สพท.37", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-3-5-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "af2d5fd4-1d12-4ce4-865a-fbcc6d9a6b2a", + "children": null, + "positionNumInt": 37 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "354f561e-563f-44db-bdd2-f7bb41cd13a0", + "positionMasterId": "2869320e-7b1d-4bbd-9a06-c15e10fa0952", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมนวัตกรรมการเรียนรู้", + "name": null, + "positionNum": "สพท.38", + "positionName": "เจ้าพนักงานโสตทัศนศึกษา", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน,ปฏิบัติงาน", + "positionLeaderFlag": false, + "keyId": "1-5-3-5-8", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "af2d5fd4-1d12-4ce4-865a-fbcc6d9a6b2a", + "children": null, + "positionNumInt": 38 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "4716b049-6f98-481e-a3a9-dbadc55cfde8", + "positionMasterId": "27c548f7-c4a5-4d3e-884f-772076865a60", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานส่งเสริมนวัตกรรมการเรียนรู้", + "name": null, + "positionNum": "สพท.39", + "positionName": "นายช่างศิลป์", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ปฏิบัติงาน,ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-5-3-5-9", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "af2d5fd4-1d12-4ce4-865a-fbcc6d9a6b2a", + "children": null, + "positionNumInt": 39 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "ส่วนบริหารการพัฒนานักบริหาร", + "totalPositionCount": 22, + "totalPositionVacant": 22, + "organizationParentId": "0132071e-8977-4260-85f2-f0a4d20dd9e9", + "keyId": "1-5-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "35f63cfb-6625-4451-8712-94bb7780cc87", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "ff859ad9-8e0c-4cda-b2a8-edf9e02fb8ab", + "positionMasterId": "646227c6-88d9-45d6-bf9e-d58cd7730f54", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ส่วนบริหารการพัฒนานักบริหาร", + "name": null, + "positionNum": "สพท.40", + "positionName": "ผู้อำนวยการ (ผู้อำนวยการส่วน)", + "executivePosition": "ผู้อำนวยการส่วน", + "positionType": "อำนวยการ", + "positionLevel": "ต้น", + "positionLeaderFlag": true, + "keyId": "1-5-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "35f63cfb-6625-4451-8712-94bb7780cc87", + "children": null, + "positionNumInt": 40 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 1", + "totalPositionCount": 7, + "totalPositionVacant": 7, + "organizationParentId": "35f63cfb-6625-4451-8712-94bb7780cc87", + "keyId": "1-5-4-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "78302f95-9b88-420e-9b9a-eea6401b7b9f", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "41e1accc-9b0e-41e9-871b-ad7319a06071", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 1", + "name": null, + "positionNum": "สพท.41", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-5-4-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "78302f95-9b88-420e-9b9a-eea6401b7b9f", + "children": null, + "positionNumInt": 41 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "3bc96685-e440-41e7-884a-db94cc61a1b7", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 1", + "name": null, + "positionNum": "สพท.42", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "78302f95-9b88-420e-9b9a-eea6401b7b9f", + "children": null, + "positionNumInt": 42 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "547c0269-24fc-4f64-a2ca-eb097f88eeb3", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 1", + "name": null, + "positionNum": "สพท.43", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "78302f95-9b88-420e-9b9a-eea6401b7b9f", + "children": null, + "positionNumInt": 43 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "a7a787a6-5b24-4399-bca1-f6841ac0972d", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 1", + "name": null, + "positionNum": "สพท.44", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "78302f95-9b88-420e-9b9a-eea6401b7b9f", + "children": null, + "positionNumInt": 44 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "6f1ffef4-80e5-4d6f-bcbe-6baaa2666ea7", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 1", + "name": null, + "positionNum": "สพท.45", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-2-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "78302f95-9b88-420e-9b9a-eea6401b7b9f", + "children": null, + "positionNumInt": 45 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "5ba29013-cd75-4c9b-829a-5b4c03a0bd14", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 1", + "name": null, + "positionNum": "สพท.46", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-2-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "78302f95-9b88-420e-9b9a-eea6401b7b9f", + "children": null, + "positionNumInt": 46 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "567850bc-d118-4997-b103-e18bc2215a2f", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 1", + "name": null, + "positionNum": "สพท.47", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-2-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "78302f95-9b88-420e-9b9a-eea6401b7b9f", + "children": null, + "positionNumInt": 47 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 2", + "totalPositionCount": 7, + "totalPositionVacant": 7, + "organizationParentId": "35f63cfb-6625-4451-8712-94bb7780cc87", + "keyId": "1-5-4-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "5c92290f-b63a-41ed-81a9-c137aacf40d9", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "ac0e92b3-1b48-4140-8ac8-32e645b9e8dd", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 2", + "name": null, + "positionNum": "สพท.48", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-5-4-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5c92290f-b63a-41ed-81a9-c137aacf40d9", + "children": null, + "positionNumInt": 48 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "23b069c9-976a-4fc9-9050-06c3b9a73f71", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 2", + "name": null, + "positionNum": "สพท.49", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-3-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5c92290f-b63a-41ed-81a9-c137aacf40d9", + "children": null, + "positionNumInt": 49 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "4637f72d-9270-4a87-82a3-ac2c3089de58", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 2", + "name": null, + "positionNum": "สพท.50", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-3-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5c92290f-b63a-41ed-81a9-c137aacf40d9", + "children": null, + "positionNumInt": 50 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "21f53c15-2b96-4ff2-9946-0b0f45b1bce8", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 2", + "name": null, + "positionNum": "สพท.51", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-3-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5c92290f-b63a-41ed-81a9-c137aacf40d9", + "children": null, + "positionNumInt": 51 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "5d3465d8-a854-47cb-8091-ee017fedd3d7", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 2", + "name": null, + "positionNum": "สพท.52", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-3-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5c92290f-b63a-41ed-81a9-c137aacf40d9", + "children": null, + "positionNumInt": 52 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "7a0bd631-2e3e-447a-b855-86914e4f304f", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 2", + "name": null, + "positionNum": "สพท.53", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-3-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5c92290f-b63a-41ed-81a9-c137aacf40d9", + "children": null, + "positionNumInt": 53 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "8faf2afc-5260-429f-be8f-bd3630eeb0b1", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหาร 2", + "name": null, + "positionNum": "สพท.54", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-3-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5c92290f-b63a-41ed-81a9-c137aacf40d9", + "children": null, + "positionNumInt": 54 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหารเขต", + "totalPositionCount": 7, + "totalPositionVacant": 7, + "organizationParentId": "35f63cfb-6625-4451-8712-94bb7780cc87", + "keyId": "1-5-4-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "41f319ed-9f77-4557-bd53-756208b7c055", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "c4343123-e56c-4ec1-84c1-9349d4cf3a0d", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหารเขต", + "name": null, + "positionNum": "สพท.55", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-5-4-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "41f319ed-9f77-4557-bd53-756208b7c055", + "children": null, + "positionNumInt": 55 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "df72fa99-d8e9-4b14-b4c9-dcc9cfb5d018", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหารเขต", + "name": null, + "positionNum": "สพท.56", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-4-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "41f319ed-9f77-4557-bd53-756208b7c055", + "children": null, + "positionNumInt": 56 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "652fcf98-9617-4d21-83f9-59a3848003a9", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหารเขต", + "name": null, + "positionNum": "สพท.57", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-4-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "41f319ed-9f77-4557-bd53-756208b7c055", + "children": null, + "positionNumInt": 57 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "480f72c1-cb0d-473a-9dde-7589c1f39245", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหารเขต", + "name": null, + "positionNum": "สพท.58", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-4-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "41f319ed-9f77-4557-bd53-756208b7c055", + "children": null, + "positionNumInt": 58 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "08ad6f01-f429-4249-aeaf-caccb502d178", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหารเขต", + "name": null, + "positionNum": "สพท.59", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-4-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "41f319ed-9f77-4557-bd53-756208b7c055", + "children": null, + "positionNumInt": 59 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "0d3c1a64-7158-47be-aaa6-0895fc033bfa", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหารเขต", + "name": null, + "positionNum": "สพท.60", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-4-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "41f319ed-9f77-4557-bd53-756208b7c055", + "children": null, + "positionNumInt": 60 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "5ca972af-7699-43fa-8012-32f42b55b943", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนานักบริหารเขต", + "name": null, + "positionNum": "สพท.61", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-4-4-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "41f319ed-9f77-4557-bd53-756208b7c055", + "children": null, + "positionNumInt": 61 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "ส่วนบริหารการพัฒนาทรัพยากรบุคคล", + "totalPositionCount": 21, + "totalPositionVacant": 21, + "organizationParentId": "0132071e-8977-4260-85f2-f0a4d20dd9e9", + "keyId": "1-5-5", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "434120fe-7fbf-4ffb-9526-62bec915b7ea", + "children": [ + { + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาสมรรถนะข้าราชการ", + "totalPositionCount": 10, + "totalPositionVacant": 10, + "organizationParentId": "434120fe-7fbf-4ffb-9526-62bec915b7ea", + "keyId": "1-5-5-1", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "d0c708f2-1d09-43f0-a442-425a7c3af9f0", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "993e0d6f-81b6-4183-a980-fd0302d67fad", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาสมรรถนะข้าราชการ", + "name": null, + "positionNum": "สพท.62", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-5-5-1-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "d0c708f2-1d09-43f0-a442-425a7c3af9f0", + "children": null, + "positionNumInt": 62 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "2bed2597-a4c2-421d-b93a-9ba3cf141bf9", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาสมรรถนะข้าราชการ", + "name": null, + "positionNum": "สพท.63", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-1-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "d0c708f2-1d09-43f0-a442-425a7c3af9f0", + "children": null, + "positionNumInt": 63 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "07aa2623-a5ad-47db-8585-38c9ad307013", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาสมรรถนะข้าราชการ", + "name": null, + "positionNum": "สพท.64", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-1-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "d0c708f2-1d09-43f0-a442-425a7c3af9f0", + "children": null, + "positionNumInt": 64 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "dc575463-4cab-468f-be33-5de9e8448fab", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาสมรรถนะข้าราชการ", + "name": null, + "positionNum": "สพท.65", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-1-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "d0c708f2-1d09-43f0-a442-425a7c3af9f0", + "children": null, + "positionNumInt": 65 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "d0445dbd-6193-4ec7-8611-6233b515d86e", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาสมรรถนะข้าราชการ", + "name": null, + "positionNum": "สพท.66", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-1-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "d0c708f2-1d09-43f0-a442-425a7c3af9f0", + "children": null, + "positionNumInt": 66 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "22448810-da61-4d97-a3f0-02c8bfe2e06d", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาสมรรถนะข้าราชการ", + "name": null, + "positionNum": "สพท.67", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-1-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "d0c708f2-1d09-43f0-a442-425a7c3af9f0", + "children": null, + "positionNumInt": 67 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "ef7a69f0-919b-4d97-b255-253c538b32e1", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาสมรรถนะข้าราชการ", + "name": null, + "positionNum": "สพท.68", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-1-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "d0c708f2-1d09-43f0-a442-425a7c3af9f0", + "children": null, + "positionNumInt": 68 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "09f060c4-39cf-46c5-b463-879d75772344", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาสมรรถนะข้าราชการ", + "name": null, + "positionNum": "สพท.69", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-1-8", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "d0c708f2-1d09-43f0-a442-425a7c3af9f0", + "children": null, + "positionNumInt": 69 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "582dc191-7e5c-413c-8899-4bd86315aeaf", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาสมรรถนะข้าราชการ", + "name": null, + "positionNum": "สพท.70", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-1-9", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "d0c708f2-1d09-43f0-a442-425a7c3af9f0", + "children": null, + "positionNumInt": 70 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "9916ddde-96c2-4510-9292-33bd0803e406", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาสมรรถนะข้าราชการ", + "name": null, + "positionNum": "สพท.71", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-5-5-1-10", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "d0c708f2-1d09-43f0-a442-425a7c3af9f0", + "children": null, + "positionNumInt": 71 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาบุคลากรกรุงเทพมหานคร", + "totalPositionCount": 6, + "totalPositionVacant": 6, + "organizationParentId": "434120fe-7fbf-4ffb-9526-62bec915b7ea", + "keyId": "1-5-5-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "98fa6430-4bac-45e6-9723-f14ea2bd56e5", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "240a89ee-12d3-4843-8bcc-6a2d87d3b9fa", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาบุคลากรกรุงเทพมหานคร", + "name": null, + "positionNum": "สพท.72", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "98fa6430-4bac-45e6-9723-f14ea2bd56e5", + "children": null, + "positionNumInt": 72 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "f5bea599-1864-457e-8ae4-802be0f0589b", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาบุคลากรกรุงเทพมหานคร", + "name": null, + "positionNum": "สพท.73", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "98fa6430-4bac-45e6-9723-f14ea2bd56e5", + "children": null, + "positionNumInt": 73 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "f871b7de-e2a0-4d0e-9a7a-e809a27ca87d", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาบุคลากรกรุงเทพมหานคร", + "name": null, + "positionNum": "สพท.74", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "98fa6430-4bac-45e6-9723-f14ea2bd56e5", + "children": null, + "positionNumInt": 74 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "59bfa1ba-629a-4a7d-bae0-cafea049d912", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาบุคลากรกรุงเทพมหานคร", + "name": null, + "positionNum": "สพท.75", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "98fa6430-4bac-45e6-9723-f14ea2bd56e5", + "children": null, + "positionNumInt": 75 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "37e97cf2-1127-4afb-8d2b-6c60fff38c31", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาบุคลากรกรุงเทพมหานคร", + "name": null, + "positionNum": "สพท.76", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-2-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "98fa6430-4bac-45e6-9723-f14ea2bd56e5", + "children": null, + "positionNumInt": 76 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "679ff3e0-d8cb-4a22-a70f-e26a92e569aa", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาบุคลากรกรุงเทพมหานคร", + "name": null, + "positionNum": "สพท.77", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-2-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "98fa6430-4bac-45e6-9723-f14ea2bd56e5", + "children": null, + "positionNumInt": 77 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาทักษะผู้ให้บริการสาธารณะ", + "totalPositionCount": 5, + "totalPositionVacant": 5, + "organizationParentId": "434120fe-7fbf-4ffb-9526-62bec915b7ea", + "keyId": "1-5-5-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "938ce07f-97c5-4393-84f7-3f5143b5e38a", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "138ca199-114b-4e18-8946-681560ecf353", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาทักษะผู้ให้บริการสาธารณะ", + "name": null, + "positionNum": "สพท.78", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-5-5-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "938ce07f-97c5-4393-84f7-3f5143b5e38a", + "children": null, + "positionNumInt": 78 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "456dd083-91f2-4679-af9b-9c602de57d99", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาทักษะผู้ให้บริการสาธารณะ", + "name": null, + "positionNum": "สพท.79", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-3-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "938ce07f-97c5-4393-84f7-3f5143b5e38a", + "children": null, + "positionNumInt": 79 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "9cf821c0-5ba8-4e91-9bdf-a5f397c2c7de", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาทักษะผู้ให้บริการสาธารณะ", + "name": null, + "positionNum": "สพท.80", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-3-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "938ce07f-97c5-4393-84f7-3f5143b5e38a", + "children": null, + "positionNumInt": 80 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "01023a11-e49b-4f6c-8f50-a4d0bf9db6f5", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาทักษะผู้ให้บริการสาธารณะ", + "name": null, + "positionNum": "สพท.81", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-3-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "938ce07f-97c5-4393-84f7-3f5143b5e38a", + "children": null, + "positionNumInt": 81 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "17d7169d-a3f3-47d3-b006-7cd599ddabcf", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาทักษะผู้ให้บริการสาธารณะ", + "name": null, + "positionNum": "สพท.82", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-5-3-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "938ce07f-97c5-4393-84f7-3f5143b5e38a", + "children": null, + "positionNumInt": 82 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "ศูนย์การเรียนรู้มหานคร", + "totalPositionCount": 12, + "totalPositionVacant": 12, + "organizationParentId": "0132071e-8977-4260-85f2-f0a4d20dd9e9", + "keyId": "1-5-6", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "23d2f4eb-e6fa-4ec2-8c6c-793bea71e0e4", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "2f6ce231-22d6-413d-be48-5b25d0dd22cd", + "positionMasterId": "81bfa481-2994-41a7-ad99-355ee99fe6ba", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ศูนย์การเรียนรู้มหานคร", + "name": null, + "positionNum": "สพท.83", + "positionName": "นักจัดการงานทั่วไป (ผู้อำนวยการศูนย์)", + "executivePosition": "ผู้อำนวยการศูนย์", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-5-6-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "23d2f4eb-e6fa-4ec2-8c6c-793bea71e0e4", + "children": null, + "positionNumInt": 83 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "53546980-4203-4915-a6e2-1d2c8e1a326e", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ศูนย์การเรียนรู้มหานคร", + "name": null, + "positionNum": "สพท.84", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ,ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-5-6-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "23d2f4eb-e6fa-4ec2-8c6c-793bea71e0e4", + "children": null, + "positionNumInt": 84 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "392ced3c-d824-49e0-980f-90fc57454378", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ศูนย์การเรียนรู้มหานคร", + "name": null, + "positionNum": "สพท.85", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-5-6-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "23d2f4eb-e6fa-4ec2-8c6c-793bea71e0e4", + "children": null, + "positionNumInt": 85 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "81f14df3-422d-463f-b9c6-02fa0059280c", + "positionMasterId": "a85fa0cf-add0-41eb-8eea-9ac7886d0a00", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ศูนย์การเรียนรู้มหานคร", + "name": null, + "positionNum": "สพท.86", + "positionName": "บรรณารักษ์", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ,ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-5-6-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "23d2f4eb-e6fa-4ec2-8c6c-793bea71e0e4", + "children": null, + "positionNumInt": 86 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "e37f1fd8-0788-4004-a498-f15e20500e08", + "positionMasterId": "2869320e-7b1d-4bbd-9a06-c15e10fa0952", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ศูนย์การเรียนรู้มหานคร", + "name": null, + "positionNum": "สพท.87", + "positionName": "เจ้าพนักงานโสตทัศนศึกษา", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน,ปฏิบัติงาน", + "positionLeaderFlag": false, + "keyId": "1-5-6-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "23d2f4eb-e6fa-4ec2-8c6c-793bea71e0e4", + "children": null, + "positionNumInt": 87 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "344fc3e2-2061-47eb-b361-0072ca64c786", + "positionMasterId": "2869320e-7b1d-4bbd-9a06-c15e10fa0952", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ศูนย์การเรียนรู้มหานคร", + "name": null, + "positionNum": "สพท.88", + "positionName": "เจ้าพนักงานโสตทัศนศึกษา", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน,ปฏิบัติงาน", + "positionLeaderFlag": false, + "keyId": "1-5-6-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "23d2f4eb-e6fa-4ec2-8c6c-793bea71e0e4", + "children": null, + "positionNumInt": 88 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "007e3e65-f1be-43f4-b390-4804654d9e1d", + "positionMasterId": "756eecb1-b83f-4401-abee-10ced681ff82", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ศูนย์การเรียนรู้มหานคร", + "name": null, + "positionNum": "สพท.89", + "positionName": "เจ้าพนักงานการเงินและบัญชี", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ปฏิบัติงาน,ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-5-6-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "23d2f4eb-e6fa-4ec2-8c6c-793bea71e0e4", + "children": null, + "positionNumInt": 89 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "bab71bc8-1585-4f3d-a182-ef8da774b8c8", + "positionMasterId": "b6e7fe97-8ec7-4f58-87b0-3fb291d43bc6", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ศูนย์การเรียนรู้มหานคร", + "name": null, + "positionNum": "สพท.90", + "positionName": "เจ้าพนักงานพัสดุ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ปฏิบัติงาน,ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-5-6-8", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "23d2f4eb-e6fa-4ec2-8c6c-793bea71e0e4", + "children": null, + "positionNumInt": 90 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "fd285a36-8434-43fe-8445-ff0605c85b02", + "positionMasterId": "2b26066c-9bf8-4ff8-92c6-a115f992d96a", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ศูนย์การเรียนรู้มหานคร", + "name": null, + "positionNum": "สพท.91", + "positionName": "เจ้าพนักงานธุรการ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน,ปฏิบัติงาน", + "positionLeaderFlag": false, + "keyId": "1-5-6-9", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "23d2f4eb-e6fa-4ec2-8c6c-793bea71e0e4", + "children": null, + "positionNumInt": 91 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "3d44fbf7-a811-4a67-a88e-56bd8db5ca70", + "positionMasterId": "2b26066c-9bf8-4ff8-92c6-a115f992d96a", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ศูนย์การเรียนรู้มหานคร", + "name": null, + "positionNum": "สพท.92", + "positionName": "เจ้าพนักงานธุรการ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน,ปฏิบัติงาน", + "positionLeaderFlag": false, + "keyId": "1-5-6-10", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "23d2f4eb-e6fa-4ec2-8c6c-793bea71e0e4", + "children": null, + "positionNumInt": 92 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "91ba2332-ac56-4ab7-a3f5-e209803295be", + "positionMasterId": "e5da5d1b-ab3e-424e-a714-1ad1396706e3", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ศูนย์การเรียนรู้มหานคร", + "name": null, + "positionNum": "สพท.93", + "positionName": "นายช่างไฟฟ้า", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน,ปฏิบัติงาน", + "positionLeaderFlag": false, + "keyId": "1-5-6-11", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "23d2f4eb-e6fa-4ec2-8c6c-793bea71e0e4", + "children": null, + "positionNumInt": 93 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "157dbe47-1471-4e39-832f-de45833be51c", + "positionMasterId": "27c548f7-c4a5-4d3e-884f-772076865a60", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ศูนย์การเรียนรู้มหานคร", + "name": null, + "positionNum": "สพท.94", + "positionName": "นายช่างศิลป์", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ปฏิบัติงาน,ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-5-6-12", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "23d2f4eb-e6fa-4ec2-8c6c-793bea71e0e4", + "children": null, + "positionNumInt": 94 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กองโครงสร้างและอัตรากำลัง", + "totalPositionCount": 61, + "totalPositionVacant": 6, + "organizationParentId": "61a11705-8346-4336-8289-49f72ed9463f", + "keyId": "1-6", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "e0f6bd37-b9c1-45ca-98e5-9c6e353a4059", + "children": [ + { + "personId": "08db509d-4292-4753-8dab-eb57326e965d", + "profileId": "08db509d-4290-437f-88de-81dbc772def0", + "organizationPositionId": "d70e292c-b073-4b43-a6a5-ce794fa83a28", + "positionMasterId": "4baa0a3e-c1e6-4339-afc9-bd8d87bd2b08", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กองโครงสร้างและอัตรากำลัง", + "name": "นางสาวอพ รร", + "positionNum": "กคอ.1", + "positionName": "ผู้อำนวยการ (ผู้อำนวยการกอง)", + "executivePosition": "ผู้อำนวยการกอง", + "positionType": "อำนวยการ", + "positionLevel": "สูง", + "positionLeaderFlag": true, + "keyId": "1-6-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "e0f6bd37-b9c1-45ca-98e5-9c6e353a4059", + "children": null, + "positionNumInt": 1 + }, + { + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "totalPositionCount": 7, + "totalPositionVacant": 1, + "organizationParentId": "e0f6bd37-b9c1-45ca-98e5-9c6e353a4059", + "keyId": "1-6-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "05fd8a0f-c6b2-42f6-b169-434408c44832", + "children": [ + { + "personId": "08db509d-429f-4453-8e9b-3b54e33f9a9d", + "profileId": "08db509d-429d-48c7-851f-b5766e1b9363", + "organizationPositionId": "83b80f3d-a31a-473c-b28e-627e9a994fc6", + "positionMasterId": "d5a1c0d1-7e09-43a0-af7e-0791505fd4cf", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางสาววร กม", + "positionNum": "กคอ.2", + "positionName": "นักจัดการงานทั่วไป (หัวหน้าฝ่าย)", + "executivePosition": "หัวหน้าฝ่าย", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-6-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "05fd8a0f-c6b2-42f6-b169-434408c44832", + "children": null, + "positionNumInt": 2 + }, + { + "personId": "08db509d-42aa-4e7d-8e60-38ca80f26b7d", + "profileId": "08db509d-42a8-4ccd-8a77-45f805b15a87", + "organizationPositionId": "139a56c2-382b-40c6-a29e-8a8d9244ce67", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางสาวสต บร", + "positionNum": "กคอ.3", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "05fd8a0f-c6b2-42f6-b169-434408c44832", + "children": null, + "positionNumInt": 3 + }, + { + "personId": "08db509d-42b6-48ce-8bf0-d219bebed6e7", + "profileId": "08db509d-42b4-4d64-8f07-8842c05ecbbe", + "organizationPositionId": "de1291de-5cbc-4ba0-b866-21f17339ecfa", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นายศส ดส", + "positionNum": "กคอ.4", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-6-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "05fd8a0f-c6b2-42f6-b169-434408c44832", + "children": null, + "positionNumInt": 4 + }, + { + "personId": "08db509d-42c5-450c-8d14-5dcb0c0cdc22", + "profileId": "08db509d-42c3-4adb-8af5-159723394740", + "organizationPositionId": "27313a6e-67f6-483c-98a3-4e88e4c61a58", + "positionMasterId": "756eecb1-b83f-4401-abee-10ced681ff82", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางสาวชน พพ", + "positionNum": "กคอ.5", + "positionName": "เจ้าพนักงานการเงินและบัญชี", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-6-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "05fd8a0f-c6b2-42f6-b169-434408c44832", + "children": null, + "positionNumInt": 5 + }, + { + "personId": "08db509d-42d2-4769-85db-84bda4f631c2", + "profileId": "08db509d-42d0-4820-8c08-b9e2ed2f4ca3", + "organizationPositionId": "96798742-a5b3-4f0e-a48f-d2138164a255", + "positionMasterId": "756eecb1-b83f-4401-abee-10ced681ff82", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นายสย ตน", + "positionNum": "กคอ.6", + "positionName": "เจ้าพนักงานการเงินและบัญชี", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-6-2-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "05fd8a0f-c6b2-42f6-b169-434408c44832", + "children": null, + "positionNumInt": 6 + }, + { + "personId": "08db509d-42de-44ad-8700-46c8e7de4bf3", + "profileId": "08db509d-42dc-46e7-87ae-907fa15b1a71", + "organizationPositionId": "319da757-7965-4aea-ba9c-c608328109f9", + "positionMasterId": "2b26066c-9bf8-4ff8-92c6-a115f992d96a", + "positionUserNote": "ให้ใช้จัดสรรตำแหน่งหรือเกลี่ยอัตรากำลังให้แก่หน่วยงานที่มีความจำเป็น", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางสาววพ สส", + "positionNum": "กคอ.7", + "positionName": "เจ้าพนักงานธุรการ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ปฏิบัติงาน", + "positionLeaderFlag": false, + "keyId": "1-6-2-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "05fd8a0f-c6b2-42f6-b169-434408c44832", + "children": null, + "positionNumInt": 7 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "dd99c938-e69b-4d7f-b8e9-af8f43c05b21", + "positionMasterId": "2b26066c-9bf8-4ff8-92c6-a115f992d96a", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": null, + "positionNum": "กคอ.8", + "positionName": "เจ้าพนักงานธุรการ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน,ปฏิบัติงาน", + "positionLeaderFlag": false, + "keyId": "1-6-2-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "05fd8a0f-c6b2-42f6-b169-434408c44832", + "children": null, + "positionNumInt": 8 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "ส่วนโครงสร้างและอัตรากำลัง 1", + "totalPositionCount": 17, + "totalPositionVacant": 0, + "organizationParentId": "e0f6bd37-b9c1-45ca-98e5-9c6e353a4059", + "keyId": "1-6-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "0b5817a9-4c21-46ed-8387-4949bc46ae3d", + "children": [ + { + "personId": "08db509d-42ec-471f-85ff-f83fd0077362", + "profileId": "08db509d-42e9-4126-844f-cda3b53501ca", + "organizationPositionId": "84ee62eb-1725-459b-bc8d-2593f3da0d32", + "positionMasterId": "646227c6-88d9-45d6-bf9e-d58cd7730f54", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ส่วนโครงสร้างและอัตรากำลัง 1", + "name": "นางสาวสจ นก", + "positionNum": "กคอ.9", + "positionName": "ผู้อำนวยการ (ผู้อำนวยการส่วน)", + "executivePosition": "ผู้อำนวยการส่วน", + "positionType": "อำนวยการ", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": true, + "keyId": "1-6-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "0b5817a9-4c21-46ed-8387-4949bc46ae3d", + "children": null, + "positionNumInt": 9 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสาธารณสุข", + "totalPositionCount": 6, + "totalPositionVacant": 0, + "organizationParentId": "0b5817a9-4c21-46ed-8387-4949bc46ae3d", + "keyId": "1-6-3-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "898c54c3-4399-402b-97ac-92e290ccb5dc", + "children": [ + { + "personId": "08db509d-42fa-4379-8c28-693e1de457b7", + "profileId": "08db509d-42f8-44f4-8bff-627b097ba2b2", + "organizationPositionId": "80ab2b9b-057b-4479-931d-15d082d4306d", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสาธารณสุข", + "name": "นางสจ สว", + "positionNum": "กคอ.10", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ต้น", + "positionLeaderFlag": true, + "keyId": "1-6-3-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "898c54c3-4399-402b-97ac-92e290ccb5dc", + "children": null, + "positionNumInt": 10 + }, + { + "personId": "08db509d-4306-4601-8e1f-00aea72d8903", + "profileId": "08db509d-4304-42f6-8f85-91fd0cfea938", + "organizationPositionId": "27dfe3c3-5794-4890-9771-bf92b29e4e5f", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสาธารณสุข", + "name": "นางสาวปช ฉก", + "positionNum": "กคอ.11", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-6-3-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "898c54c3-4399-402b-97ac-92e290ccb5dc", + "children": null, + "positionNumInt": 11 + }, + { + "personId": "08db509d-4313-4a02-87c9-fe2c5d451fb7", + "profileId": "08db509d-4311-4efb-8a10-d0c303f3bd2b", + "organizationPositionId": "379063ab-866e-4097-b707-bef46e2305f0", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสาธารณสุข", + "name": "นางสาวธธ ภว", + "positionNum": "กคอ.12", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-3-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "898c54c3-4399-402b-97ac-92e290ccb5dc", + "children": null, + "positionNumInt": 12 + }, + { + "personId": "08db509d-4320-4be8-88a1-c63cf4d37d44", + "profileId": "08db509d-431e-497d-86d1-5e67ea7bacf1", + "organizationPositionId": "35736b8c-41e3-4e00-a51c-6801e968d2fd", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสาธารณสุข", + "name": "นางสย มต", + "positionNum": "กคอ.13", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-6-3-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "898c54c3-4399-402b-97ac-92e290ccb5dc", + "children": null, + "positionNumInt": 13 + }, + { + "personId": "08db509d-432c-4f0a-812d-8053c5199172", + "profileId": "08db509d-432b-427a-83d0-f16022f55b50", + "organizationPositionId": "f3db073f-c761-4af7-bfef-f0339be6fc71", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสาธารณสุข", + "name": "นางปฉ วล", + "positionNum": "กคอ.14", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-3-2-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "898c54c3-4399-402b-97ac-92e290ccb5dc", + "children": null, + "positionNumInt": 14 + }, + { + "personId": "08db509d-433a-41f9-8b58-6f1e9d308ef4", + "profileId": "08db509d-4337-4ade-8247-1e915685c76d", + "organizationPositionId": "4e43942c-e42d-4cfe-a5d3-bb9c9101e2bf", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสาธารณสุข", + "name": "นายจพ ทอ", + "positionNum": "กคอ.15", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-3-2-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "898c54c3-4399-402b-97ac-92e290ccb5dc", + "children": null, + "positionNumInt": 15 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสาธารณูปโภคพื้นฐาน", + "totalPositionCount": 5, + "totalPositionVacant": 0, + "organizationParentId": "0b5817a9-4c21-46ed-8387-4949bc46ae3d", + "keyId": "1-6-3-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "1b5ff9f9-76b2-4861-a3da-10d9fd653857", + "children": [ + { + "personId": "08db509d-434f-4a39-8168-cc57355c7bd4", + "profileId": "08db509d-434b-4578-838e-a1732d4e9db6", + "organizationPositionId": "a9d7d982-4818-472c-83d3-d0d1f819fdfb", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสาธารณูปโภคพื้นฐาน", + "name": "นางอน ธภ", + "positionNum": "กคอ.16", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-6-3-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "1b5ff9f9-76b2-4861-a3da-10d9fd653857", + "children": null, + "positionNumInt": 16 + }, + { + "personId": "08db509d-4361-47fc-88f7-08ac4dc4f3c7", + "profileId": "08db509d-435e-4bd7-8ef7-50274cd8531f", + "organizationPositionId": "59bccde9-b00d-4c4d-86bf-380ea0966073", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสาธารณูปโภคพื้นฐาน", + "name": "นางสาวปธ รศ", + "positionNum": "กคอ.17", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-3-3-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "1b5ff9f9-76b2-4861-a3da-10d9fd653857", + "children": null, + "positionNumInt": 17 + }, + { + "personId": "08db509d-4371-4027-87ad-8f3317059958", + "profileId": "08db509d-436e-4c1a-81ac-7d0a04838983", + "organizationPositionId": "f79fe0bf-d096-4755-b2b6-15b6fe2ee4d6", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสาธารณูปโภคพื้นฐาน", + "name": "นางสาวอพ บล", + "positionNum": "กคอ.18", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-6-3-3-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "1b5ff9f9-76b2-4861-a3da-10d9fd653857", + "children": null, + "positionNumInt": 18 + }, + { + "personId": "08db509d-438a-4d5d-87b7-d53f452642bf", + "profileId": "08db509d-4387-4485-84a6-f164a18f238d", + "organizationPositionId": "25006830-8c04-4987-8636-d82377653d12", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสาธารณูปโภคพื้นฐาน", + "name": "นางสาววภ ลส", + "positionNum": "กคอ.19", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-6-3-3-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "1b5ff9f9-76b2-4861-a3da-10d9fd653857", + "children": null, + "positionNumInt": 19 + }, + { + "personId": "08db509d-439c-4d2c-850c-91d13523dff3", + "profileId": "08db509d-4399-483a-8e4d-2d4332787f80", + "organizationPositionId": "08bd8e3b-95d8-45ba-8c3d-a6e9f3ee2866", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสาธารณูปโภคพื้นฐาน", + "name": "นางสาวปภ พร", + "positionNum": "กคอ.20", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-3-3-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "1b5ff9f9-76b2-4861-a3da-10d9fd653857", + "children": null, + "positionNumInt": 20 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานด้านบริหารจัดการ", + "totalPositionCount": 5, + "totalPositionVacant": 0, + "organizationParentId": "0b5817a9-4c21-46ed-8387-4949bc46ae3d", + "keyId": "1-6-3-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "11d2e161-d324-41af-b178-4121bcc2083b", + "children": [ + { + "personId": "08db509d-43ae-4bc9-8e74-a2f7860719dd", + "profileId": "08db509d-43ac-474c-8835-6288bbfbdb5c", + "organizationPositionId": "04551b25-5912-4d2e-8427-c83c28895fa4", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านบริหารจัดการ", + "name": "นายอร ธธ", + "positionNum": "กคอ.21", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-6-3-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "11d2e161-d324-41af-b178-4121bcc2083b", + "children": null, + "positionNumInt": 21 + }, + { + "personId": "08db509d-43be-455d-83cd-1e43a0ed74e2", + "profileId": "08db509d-43bc-445b-88e4-aec03b5d9d82", + "organizationPositionId": "55748657-dbcf-4a09-8bbd-6e25702b8650", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านบริหารจัดการ", + "name": "นางสาวดต สก", + "positionNum": "กคอ.22", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-6-3-4-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "11d2e161-d324-41af-b178-4121bcc2083b", + "children": null, + "positionNumInt": 22 + }, + { + "personId": "08db509d-43cb-47aa-8c06-bd9b9f3d4140", + "profileId": "08db509d-43c9-475e-8dba-e29d135cbccc", + "organizationPositionId": "7aee0cb5-b0f4-48e5-8246-a441e6263a2f", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านบริหารจัดการ", + "name": "นางสาวสร สศ", + "positionNum": "กคอ.23", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-3-4-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "11d2e161-d324-41af-b178-4121bcc2083b", + "children": null, + "positionNumInt": 23 + }, + { + "personId": "08db509d-43df-4261-8ef4-e29458557537", + "profileId": "08db509d-43dc-48d0-885e-d5d0fc91cebb", + "organizationPositionId": "03a3d9d8-231a-4aa1-a0f2-1ec1e63c62d2", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านบริหารจัดการ", + "name": "นายจพ พก", + "positionNum": "กคอ.24", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-6-3-4-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "11d2e161-d324-41af-b178-4121bcc2083b", + "children": null, + "positionNumInt": 24 + }, + { + "personId": "08db509d-43f0-48f3-8b5e-6c4e44e9c445", + "profileId": "08db509d-43ed-4442-8051-2f41d0de5484", + "organizationPositionId": "58d0310f-c14d-4370-877d-437fe6b2e7bb", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านบริหารจัดการ", + "name": "นางสาวอร สท", + "positionNum": "กคอ.25", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-6-3-4-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "11d2e161-d324-41af-b178-4121bcc2083b", + "children": null, + "positionNumInt": 25 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "ส่วนโครงสร้างและอัตรากำลัง 2", + "totalPositionCount": 17, + "totalPositionVacant": 1, + "organizationParentId": "e0f6bd37-b9c1-45ca-98e5-9c6e353a4059", + "keyId": "1-6-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "39bf20ab-06ec-4c0f-b771-3fe25447970b", + "children": [ + { + "personId": "08db509d-4401-4dce-824f-8df31b841918", + "profileId": "08db509d-43fe-4f3e-8e93-e119d7de3f98", + "organizationPositionId": "123468d0-8180-42dd-ad16-d9de07756b81", + "positionMasterId": "646227c6-88d9-45d6-bf9e-d58cd7730f54", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ส่วนโครงสร้างและอัตรากำลัง 2", + "name": "นางสาวอศ สส", + "positionNum": "กคอ.26", + "positionName": "ผู้อำนวยการ (ผู้อำนวยการส่วน)", + "executivePosition": "ผู้อำนวยการส่วน", + "positionType": "อำนวยการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-6-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "39bf20ab-06ec-4c0f-b771-3fe25447970b", + "children": null, + "positionNumInt": 26 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานด้านยุทธศาสตร์และการคลัง", + "totalPositionCount": 5, + "totalPositionVacant": 1, + "organizationParentId": "39bf20ab-06ec-4c0f-b771-3fe25447970b", + "keyId": "1-6-4-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "8370db2b-cf4d-4053-a64b-eb1202fb1e0a", + "children": [ + { + "personId": "08db509d-4413-4a2e-806a-3d721dcceaf0", + "profileId": "08db509d-440f-4cb0-8d0a-bd9dfac03209", + "organizationPositionId": "e413cf7a-47cd-464f-bdb3-9b8c2988478b", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านยุทธศาสตร์และการคลัง", + "name": "นายณพ ฉม", + "positionNum": "กคอ.27", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": true, + "keyId": "1-6-4-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8370db2b-cf4d-4053-a64b-eb1202fb1e0a", + "children": null, + "positionNumInt": 27 + }, + { + "personId": "08db509d-4421-4e62-8cf2-b3ec51a29db3", + "profileId": "08db509d-441f-4f25-85f0-bfe59a89209f", + "organizationPositionId": "23c0d171-a6ab-40f2-be85-a1815123d1e3", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านยุทธศาสตร์และการคลัง", + "name": "นางสาววพ สก", + "positionNum": "กคอ.28", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-4-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8370db2b-cf4d-4053-a64b-eb1202fb1e0a", + "children": null, + "positionNumInt": 28 + }, + { + "personId": "08db509d-4431-4965-8eaa-d51c9d64da9d", + "profileId": "08db509d-442e-487d-8496-ae1d0e58ed03", + "organizationPositionId": "4683bf33-6cbb-4673-bbed-cf5b31e8c108", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านยุทธศาสตร์และการคลัง", + "name": "นางสาวดณ พช", + "positionNum": "กคอ.29", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-4-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8370db2b-cf4d-4053-a64b-eb1202fb1e0a", + "children": null, + "positionNumInt": 29 + }, + { + "personId": "08db509d-4441-466d-8bb0-ff3daa61fcec", + "profileId": "08db509d-443f-40f6-89fd-cdb83e24344c", + "organizationPositionId": "b0c611d0-8201-4e0f-a94e-36b956211bdc", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านยุทธศาสตร์และการคลัง", + "name": "นางสาวปพ ลจ", + "positionNum": "กคอ.30", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-6-4-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8370db2b-cf4d-4053-a64b-eb1202fb1e0a", + "children": null, + "positionNumInt": 30 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "eea4b908-b129-4d16-8453-312496e77bd8", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านยุทธศาสตร์และการคลัง", + "name": null, + "positionNum": "กคอ.31", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-4-2-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8370db2b-cf4d-4053-a64b-eb1202fb1e0a", + "children": null, + "positionNumInt": 31 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสังคมและคุณภาพชีวิต", + "totalPositionCount": 5, + "totalPositionVacant": 0, + "organizationParentId": "39bf20ab-06ec-4c0f-b771-3fe25447970b", + "keyId": "1-6-4-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "8512a205-b137-4dd1-aa54-cf3a79f6202a", + "children": [ + { + "personId": "08db509d-4451-4f4b-8d4d-ec69d27118dc", + "profileId": "08db509d-444f-450e-8117-9984641da860", + "organizationPositionId": "c1b57e97-8bca-407f-9b3f-dc605f9309af", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสังคมและคุณภาพชีวิต", + "name": "นางสาวนร ศศ", + "positionNum": "กคอ.32", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": true, + "keyId": "1-6-4-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8512a205-b137-4dd1-aa54-cf3a79f6202a", + "children": null, + "positionNumInt": 32 + }, + { + "personId": "08db509d-4463-480b-8815-5f3f3146333e", + "profileId": "08db509d-445e-45c6-8e0e-b80269d695e6", + "organizationPositionId": "5113565d-7afe-45a6-810d-54e037386035", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสังคมและคุณภาพชีวิต", + "name": "นายยนบ ปพ", + "positionNum": "กคอ.33", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-4-3-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8512a205-b137-4dd1-aa54-cf3a79f6202a", + "children": null, + "positionNumInt": 33 + }, + { + "personId": "08db509d-4471-4ed4-80d6-b687c9ddb988", + "profileId": "08db509d-446f-4a52-8de8-ae3ef9cae428", + "organizationPositionId": "cff0f9c2-e1ff-46b0-9fde-32ba8ac9421f", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสังคมและคุณภาพชีวิต", + "name": "นายชช ชต", + "positionNum": "กคอ.34", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ต้น", + "positionLeaderFlag": false, + "keyId": "1-6-4-3-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8512a205-b137-4dd1-aa54-cf3a79f6202a", + "children": null, + "positionNumInt": 34 + }, + { + "personId": "08db509d-4480-4909-8d47-478227c89d8c", + "profileId": "08db509d-447e-48a6-8b0c-204e42d8dbb4", + "organizationPositionId": "3e70d31e-9185-46ca-b842-98c19310a9fc", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสังคมและคุณภาพชีวิต", + "name": "นางปด รอ", + "positionNum": "กคอ.35", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-6-4-3-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8512a205-b137-4dd1-aa54-cf3a79f6202a", + "children": null, + "positionNumInt": 35 + }, + { + "personId": "08db509d-4497-4137-812e-572db44b0c11", + "profileId": "08db509d-4492-44af-8624-4ea616e4775c", + "organizationPositionId": "5814a2f6-52c0-44ac-9152-45d25ea924fa", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านสังคมและคุณภาพชีวิต", + "name": "นางสาวอฉ ทศ", + "positionNum": "กคอ.36", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-4-3-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8512a205-b137-4dd1-aa54-cf3a79f6202a", + "children": null, + "positionNumInt": 36 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานด้านจัดระเบียบเมือง", + "totalPositionCount": 6, + "totalPositionVacant": 0, + "organizationParentId": "39bf20ab-06ec-4c0f-b771-3fe25447970b", + "keyId": "1-6-4-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "99b8dc1d-a834-4834-bda4-9d1b22a5fa59", + "children": [ + { + "personId": "08db509d-44a8-424d-855e-925ec612f4d6", + "profileId": "08db509d-44a6-473a-8fd3-1fc480e09f7b", + "organizationPositionId": "f3671713-5381-4beb-af17-92870b0225c0", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านจัดระเบียบเมือง", + "name": "นายศร ยช", + "positionNum": "กคอ.37", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": true, + "keyId": "1-6-4-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "99b8dc1d-a834-4834-bda4-9d1b22a5fa59", + "children": null, + "positionNumInt": 37 + }, + { + "personId": "08db509d-44b8-40b1-8602-455befd09ea3", + "profileId": "08db509d-44b2-4154-8b24-a04bd4fc69ed", + "organizationPositionId": "8f3fbe1c-d1ab-4ea7-8794-a2865ee370dd", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านจัดระเบียบเมือง", + "name": "นางสาวพพ ดท", + "positionNum": "กคอ.38", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-4-4-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "99b8dc1d-a834-4834-bda4-9d1b22a5fa59", + "children": null, + "positionNumInt": 38 + }, + { + "personId": "08db509d-44c4-4985-81d3-f9a1c7d7bb9a", + "profileId": "08db509d-44c2-4bb8-8d6a-01f247b4d80d", + "organizationPositionId": "938dbe6f-4f34-4784-bd6b-19fed63e872d", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านจัดระเบียบเมือง", + "name": "นางสาวอพ วพ", + "positionNum": "กคอ.39", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-4-4-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "99b8dc1d-a834-4834-bda4-9d1b22a5fa59", + "children": null, + "positionNumInt": 39 + }, + { + "personId": "08db509d-44d3-43b0-82a6-900069c12595", + "profileId": "08db509d-44d0-4505-8c14-d0bb3603a90a", + "organizationPositionId": "6a703e43-d0f8-4b65-890e-c5a8db5178ec", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านจัดระเบียบเมือง", + "name": "นางสาวชช ชน", + "positionNum": "กคอ.40", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-4-4-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "99b8dc1d-a834-4834-bda4-9d1b22a5fa59", + "children": null, + "positionNumInt": 40 + }, + { + "personId": "08db509d-44de-43f1-8acf-d84e4892772a", + "profileId": "08db509d-44dc-4540-8a7a-b7e309323826", + "organizationPositionId": "e89c9d4a-f906-4e6b-adcc-acdd8e809b29", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านจัดระเบียบเมือง", + "name": "นางสาวจย อน", + "positionNum": "กคอ.41", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-6-4-4-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "99b8dc1d-a834-4834-bda4-9d1b22a5fa59", + "children": null, + "positionNumInt": 41 + }, + { + "personId": "08db509d-44eb-47c0-8b83-7dc1010e0dee", + "profileId": "08db509d-44e9-4b31-8102-554744428f63", + "organizationPositionId": "d394fa37-df51-4f17-8521-f898e4026986", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานด้านจัดระเบียบเมือง", + "name": "นางสาวสภ ชพ", + "positionNum": "กคอ.42", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-6-4-4-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "99b8dc1d-a834-4834-bda4-9d1b22a5fa59", + "children": null, + "positionNumInt": 42 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานบุคลากรกรุงเทพมหานคร", + "totalPositionCount": 5, + "totalPositionVacant": 0, + "organizationParentId": "e0f6bd37-b9c1-45ca-98e5-9c6e353a4059", + "keyId": "1-6-5", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "ff287c3d-5a18-4ed3-9046-0bd06dd80a3a", + "children": [ + { + "personId": "08db509d-44f8-4009-859d-7ba4c3f29c4b", + "profileId": "08db509d-44f6-41ba-85f4-1ed94e3e9a1a", + "organizationPositionId": "6049172b-3b85-4be8-bab9-dfdc3b3544aa", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบุคลากรกรุงเทพมหานคร", + "name": "นางสาวณธ ปว", + "positionNum": "กคอ.43", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": true, + "keyId": "1-6-5-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ff287c3d-5a18-4ed3-9046-0bd06dd80a3a", + "children": null, + "positionNumInt": 43 + }, + { + "personId": "08db509d-4505-43dc-87ab-7a21fa267198", + "profileId": "08db509d-4503-45e5-859b-880f0463623c", + "organizationPositionId": "fa64433a-d75c-4318-9034-ded0b20a2719", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบุคลากรกรุงเทพมหานคร", + "name": "นางสาวปน สธ", + "positionNum": "กคอ.44", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-6-5-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ff287c3d-5a18-4ed3-9046-0bd06dd80a3a", + "children": null, + "positionNumInt": 44 + }, + { + "personId": "08db509d-4511-4c1d-8c0f-60f6e9cfa840", + "profileId": "08db509d-450f-4cc0-83e4-755fc8c31496", + "organizationPositionId": "daa78941-ff3f-4ea5-8e8f-2bf9505c7bc1", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบุคลากรกรุงเทพมหานคร", + "name": "นางสาวกพ ธภ", + "positionNum": "กคอ.45", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-5-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ff287c3d-5a18-4ed3-9046-0bd06dd80a3a", + "children": null, + "positionNumInt": 45 + }, + { + "personId": "08db509d-451f-480c-84ba-1ce991f308af", + "profileId": "08db509d-451c-4a5e-8adc-e5f5f40cda1c", + "organizationPositionId": "ceeba315-6a5f-40f0-b7c3-bfb14001723b", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบุคลากรกรุงเทพมหานคร", + "name": "นายธว อม", + "positionNum": "กคอ.46", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-6-5-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ff287c3d-5a18-4ed3-9046-0bd06dd80a3a", + "children": null, + "positionNumInt": 46 + }, + { + "personId": "08db509d-452c-42ba-8392-fbed0e1cc3e9", + "profileId": "08db509d-452a-4149-8cb5-1cfbca88d8d5", + "organizationPositionId": "eb7b3cec-aaa4-4e0f-a0b2-4ccc78d0044a", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบุคลากรกรุงเทพมหานคร", + "name": "นายธพ นม", + "positionNum": "กคอ.47", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-6-5-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ff287c3d-5a18-4ed3-9046-0bd06dd80a3a", + "children": null, + "positionNumInt": 47 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานวางแผนกำลังคน", + "totalPositionCount": 7, + "totalPositionVacant": 0, + "organizationParentId": "e0f6bd37-b9c1-45ca-98e5-9c6e353a4059", + "keyId": "1-6-6", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "9d5f22f6-f8d7-4481-b9df-3d79e0fa6591", + "children": [ + { + "personId": "08db509d-4538-4905-856e-5a863655ac90", + "profileId": "08db509d-4536-4640-8572-2630286ddd24", + "organizationPositionId": "f1baac69-3465-4fe9-9cd3-3ddac8d8e383", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวางแผนกำลังคน", + "name": "นางสาวพภ กน", + "positionNum": "กคอ.48", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": true, + "keyId": "1-6-6-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9d5f22f6-f8d7-4481-b9df-3d79e0fa6591", + "children": null, + "positionNumInt": 48 + }, + { + "personId": "08db509d-4545-49e6-8611-bdb9e8a9447a", + "profileId": "08db509d-4542-4f11-8c79-c8190ac13655", + "organizationPositionId": "5eeae862-e565-435e-a2d5-cccd163bb246", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวางแผนกำลังคน", + "name": "นางสาวปญ สด", + "positionNum": "กคอ.49", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-6-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9d5f22f6-f8d7-4481-b9df-3d79e0fa6591", + "children": null, + "positionNumInt": 49 + }, + { + "personId": "08db509d-4551-4ebd-8431-56a837801174", + "profileId": "08db509d-454f-4e60-871d-de45ad8b2681", + "organizationPositionId": "65be64f7-4928-4d0d-8fa5-b21102ecba3a", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวางแผนกำลังคน", + "name": "นางปณ นอ", + "positionNum": "กคอ.50", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-6-6-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9d5f22f6-f8d7-4481-b9df-3d79e0fa6591", + "children": null, + "positionNumInt": 50 + }, + { + "personId": "08db509d-455f-43a8-8cc6-85a02ca0669a", + "profileId": "08db509d-455c-4f77-828e-dc2c4cd87114", + "organizationPositionId": "b4034842-3c4f-4f2d-a302-1f146729e09e", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวางแผนกำลังคน", + "name": "นางสาวพร ชน", + "positionNum": "กคอ.51", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-6-6-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9d5f22f6-f8d7-4481-b9df-3d79e0fa6591", + "children": null, + "positionNumInt": 51 + }, + { + "personId": "08db509d-456f-4e0a-84cc-3cf7a70ba217", + "profileId": "08db509d-456d-4f9e-8d96-c9be01bbeeb2", + "organizationPositionId": "6224e042-a0bc-4b7a-ab68-839ff5d10198", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวางแผนกำลังคน", + "name": "นายคภ ออ", + "positionNum": "กคอ.52", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-6-6-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9d5f22f6-f8d7-4481-b9df-3d79e0fa6591", + "children": null, + "positionNumInt": 52 + }, + { + "personId": "08db509d-457c-483c-8758-1eb789accdf6", + "profileId": "08db509d-457a-4ac0-8aa3-abd81c3ee573", + "organizationPositionId": "8aed37bf-f8f8-4368-9d21-f10345d3a153", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวางแผนกำลังคน", + "name": "นางสาวณป พจ", + "positionNum": "กคอ.53", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-6-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9d5f22f6-f8d7-4481-b9df-3d79e0fa6591", + "children": null, + "positionNumInt": 53 + }, + { + "personId": "08db509d-458b-46b5-8510-7c7ca460f9de", + "profileId": "08db509d-4589-46db-86fc-8083cdeff9d1", + "organizationPositionId": "e3fd8225-01e6-4c00-97c9-f545b232806c", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานวางแผนกำลังคน", + "name": "นางสาววว กพ", + "positionNum": "กคอ.54", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-6-6-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9d5f22f6-f8d7-4481-b9df-3d79e0fa6591", + "children": null, + "positionNumInt": 54 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานเสริมสร้างวิทยฐานะข้าราชการครูและบุคลากรทางการศึกษากรุงเทพมหานคร", + "totalPositionCount": 7, + "totalPositionVacant": 4, + "organizationParentId": "e0f6bd37-b9c1-45ca-98e5-9c6e353a4059", + "keyId": "1-6-7", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "9ce012f8-0b20-4db0-8cef-dd2da3cf0663", + "children": [ + { + "personId": "08db509d-4598-4198-8296-79538bb55d21", + "profileId": "08db509d-4595-4f73-8f0d-0a24b188c290", + "organizationPositionId": "8cefff15-f321-460a-836b-6c29292e9cf2", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานเสริมสร้างวิทยฐานะข้าราชการครูและบุคลากรทางการศึกษากรุงเทพมหานคร", + "name": "นางสาววก ดส", + "positionNum": "กคอ.55", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": true, + "keyId": "1-6-7-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9ce012f8-0b20-4db0-8cef-dd2da3cf0663", + "children": null, + "positionNumInt": 55 + }, + { + "personId": "08db509d-45a3-4ecb-8fef-c21157ba1b19", + "profileId": "08db509d-45a0-4bdb-842c-02bbc30cf26c", + "organizationPositionId": "e626abc1-0d10-4ece-ac12-49982295ffae", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานเสริมสร้างวิทยฐานะข้าราชการครูและบุคลากรทางการศึกษากรุงเทพมหานคร", + "name": "นางสาวศพ จร", + "positionNum": "กคอ.56", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-7-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9ce012f8-0b20-4db0-8cef-dd2da3cf0663", + "children": null, + "positionNumInt": 56 + }, + { + "personId": "08db509d-45af-472c-8ff6-4e629e0d714a", + "profileId": "08db509d-45ad-427b-8237-a745c14bfc91", + "organizationPositionId": "451aee47-b0b4-4896-a545-405c0198e699", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานเสริมสร้างวิทยฐานะข้าราชการครูและบุคลากรทางการศึกษากรุงเทพมหานคร", + "name": "นางสาวกน สม", + "positionNum": "กคอ.57", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-7-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9ce012f8-0b20-4db0-8cef-dd2da3cf0663", + "children": null, + "positionNumInt": 57 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "c562ce71-43b4-4a27-a2e7-06479319b58d", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานเสริมสร้างวิทยฐานะข้าราชการครูและบุคลากรทางการศึกษากรุงเทพมหานคร", + "name": null, + "positionNum": "กคอ.58", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-7-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9ce012f8-0b20-4db0-8cef-dd2da3cf0663", + "children": null, + "positionNumInt": 58 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "a5b036fb-bd73-42f1-9cc2-416f10a11229", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานเสริมสร้างวิทยฐานะข้าราชการครูและบุคลากรทางการศึกษากรุงเทพมหานคร", + "name": null, + "positionNum": "กคอ.59", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-7-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9ce012f8-0b20-4db0-8cef-dd2da3cf0663", + "children": null, + "positionNumInt": 59 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "21ce5093-358c-4314-ae3c-103506f22f35", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานเสริมสร้างวิทยฐานะข้าราชการครูและบุคลากรทางการศึกษากรุงเทพมหานคร", + "name": null, + "positionNum": "กคอ.60", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-7-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9ce012f8-0b20-4db0-8cef-dd2da3cf0663", + "children": null, + "positionNumInt": 60 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "9a3d0385-b7e6-4e70-a541-f6bfe7732c79", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานเสริมสร้างวิทยฐานะข้าราชการครูและบุคลากรทางการศึกษากรุงเทพมหานคร", + "name": null, + "positionNum": "กคอ.61", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-6-7-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "9ce012f8-0b20-4db0-8cef-dd2da3cf0663", + "children": null, + "positionNumInt": 61 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กองพัฒนาระบบราชการกรุงเทพมหานคร", + "totalPositionCount": 36, + "totalPositionVacant": 12, + "organizationParentId": "61a11705-8346-4336-8289-49f72ed9463f", + "keyId": "1-7", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "0eb1720a-203b-49f0-bcf9-e1085c679736", + "children": [ + { + "personId": "08db509d-4165-4636-8f3b-e460cfb663f1", + "profileId": "08db509d-4163-4b7a-8974-d582ce05bdad", + "organizationPositionId": "46caed25-025b-4e6b-bd5f-df2b36c5aa0a", + "positionMasterId": "4baa0a3e-c1e6-4339-afc9-bd8d87bd2b08", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กองพัฒนาระบบราชการกรุงเทพมหานคร", + "name": "นายบล ตง", + "positionNum": "กพร.1", + "positionName": "ผู้อำนวยการ (ผู้อำนวยการกอง)", + "executivePosition": "ผู้อำนวยการกอง", + "positionType": "อำนวยการ", + "positionLevel": "สูง", + "positionLeaderFlag": true, + "keyId": "1-7-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "0eb1720a-203b-49f0-bcf9-e1085c679736", + "children": null, + "positionNumInt": 1 + }, + { + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "totalPositionCount": 5, + "totalPositionVacant": 0, + "organizationParentId": "0eb1720a-203b-49f0-bcf9-e1085c679736", + "keyId": "1-7-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "3e3c6efe-edc7-4ae0-a107-dba893f327cc", + "children": [ + { + "personId": "08db509d-4172-4719-8a88-382a7a2ebd83", + "profileId": "08db509d-4170-4f08-8c54-bc650a3601eb", + "organizationPositionId": "d221d01c-63e5-4a2d-974f-54e2af365425", + "positionMasterId": "d5a1c0d1-7e09-43a0-af7e-0791505fd4cf", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางสาวรน นช", + "positionNum": "กพร.2", + "positionName": "นักจัดการงานทั่วไป (หัวหน้าฝ่าย)", + "executivePosition": "หัวหน้าฝ่าย", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-7-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "3e3c6efe-edc7-4ae0-a107-dba893f327cc", + "children": null, + "positionNumInt": 2 + }, + { + "personId": "08db509d-417d-4aa0-8b01-3be14ea12da4", + "profileId": "08db509d-417b-4e15-8e58-725ae0f7d365", + "organizationPositionId": "33f0dd97-82ce-4a2f-aeb4-e6a6c9184636", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นายฉจ พล", + "positionNum": "กพร.3", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "3e3c6efe-edc7-4ae0-a107-dba893f327cc", + "children": null, + "positionNumInt": 3 + }, + { + "personId": "08db509d-4188-48cc-8296-310ba642a636", + "profileId": "08db509d-4187-417c-8906-aa42d6161905", + "organizationPositionId": "a3b304e2-ab9e-4c34-a5da-20a3faab42f3", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางสาวกน ชก", + "positionNum": "กพร.4", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-7-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "3e3c6efe-edc7-4ae0-a107-dba893f327cc", + "children": null, + "positionNumInt": 4 + }, + { + "personId": "08db509d-4194-4b82-89ba-12b7297aae8b", + "profileId": "08db509d-4192-49f3-8ff0-5f7d516dc585", + "organizationPositionId": "df89f127-0f64-4749-affe-c6a2109b2048", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางสาวสบ กห", + "positionNum": "กพร.5", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-7-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "3e3c6efe-edc7-4ae0-a107-dba893f327cc", + "children": null, + "positionNumInt": 5 + }, + { + "personId": "08db509d-41a0-48eb-8f04-ccd2f8a369a5", + "profileId": "08db509d-419e-4b64-8194-dc7c9dccef89", + "organizationPositionId": "1347a0d3-9cf1-4bdd-8da5-4093f12d8d59", + "positionMasterId": "2b26066c-9bf8-4ff8-92c6-a115f992d96a", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางสาวปร สม", + "positionNum": "กพร.6", + "positionName": "เจ้าพนักงานธุรการ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-7-2-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "3e3c6efe-edc7-4ae0-a107-dba893f327cc", + "children": null, + "positionNumInt": 6 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "ส่วนพัฒนาระบบบริหาร", + "totalPositionCount": 13, + "totalPositionVacant": 1, + "organizationParentId": "0eb1720a-203b-49f0-bcf9-e1085c679736", + "keyId": "1-7-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "4b8aac9f-064a-4ef6-9d58-c1bef4dbb995", + "children": [ + { + "personId": "08db509d-41ab-4376-855a-23938d7080c6", + "profileId": "08db509d-41a9-48cc-8f2c-62abcc06542e", + "organizationPositionId": "f780694c-7c9b-4a83-bcf0-676f5803db4d", + "positionMasterId": "646227c6-88d9-45d6-bf9e-d58cd7730f54", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ส่วนพัฒนาระบบบริหาร", + "name": "นางอญ นส", + "positionNum": "กพร.7", + "positionName": "ผู้อำนวยการ (ผู้อำนวยการส่วน)", + "executivePosition": "ผู้อำนวยการส่วน", + "positionType": "อำนวยการ", + "positionLevel": "ต้น", + "positionLeaderFlag": true, + "keyId": "1-7-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "4b8aac9f-064a-4ef6-9d58-c1bef4dbb995", + "children": null, + "positionNumInt": 7 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 1", + "totalPositionCount": 4, + "totalPositionVacant": 0, + "organizationParentId": "4b8aac9f-064a-4ef6-9d58-c1bef4dbb995", + "keyId": "1-7-3-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "7729eb63-1553-4421-b829-59c7d4e3a25e", + "children": [ + { + "personId": "08db509d-41b6-4a2d-898b-ea5ff6a3e734", + "profileId": "08db509d-41b4-4ea0-8dcb-03141d3162c0", + "organizationPositionId": "c66367a4-3618-471d-966d-f20885a55129", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 1", + "name": "นางสาวณช สท", + "positionNum": "กพร.8", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-7-3-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "7729eb63-1553-4421-b829-59c7d4e3a25e", + "children": null, + "positionNumInt": 8 + }, + { + "personId": "08db509d-41c2-4580-8e8e-519a332b0560", + "profileId": "08db509d-41c0-495d-861e-5ee95240122d", + "organizationPositionId": "cc742e54-371b-4b6f-8346-c113ff12e3f9", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 1", + "name": "นายจต สจ", + "positionNum": "กพร.9", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-3-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "7729eb63-1553-4421-b829-59c7d4e3a25e", + "children": null, + "positionNumInt": 9 + }, + { + "personId": "08db509d-41ce-499d-8d40-f41a8f566917", + "profileId": "08db509d-41cc-4a9a-8312-8d75412df68b", + "organizationPositionId": "2fa4d7b5-cb5a-419a-ba44-1ab47aacb6ff", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 1", + "name": "นางสาวนพ จพ", + "positionNum": "กพร.10", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-3-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "7729eb63-1553-4421-b829-59c7d4e3a25e", + "children": null, + "positionNumInt": 10 + }, + { + "personId": "08db509d-41db-4591-8ffe-8a6f3c9a6ccb", + "profileId": "08db509d-41d9-4cc2-8ecf-7931e1135e6f", + "organizationPositionId": "e8b08614-9843-4120-90d6-50704d31944a", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 1", + "name": "นายกศ คท", + "positionNum": "กพร.11", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-3-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "7729eb63-1553-4421-b829-59c7d4e3a25e", + "children": null, + "positionNumInt": 11 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 2", + "totalPositionCount": 4, + "totalPositionVacant": 1, + "organizationParentId": "4b8aac9f-064a-4ef6-9d58-c1bef4dbb995", + "keyId": "1-7-3-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "988332c3-2b12-431d-a9e4-cd303e7c8e5d", + "children": [ + { + "personId": "08db509d-41e8-417a-8dbd-db7426553dc2", + "profileId": "08db509d-41e6-47eb-8df4-10c9766cc636", + "organizationPositionId": "9947069a-56bb-4949-b291-228a9d176140", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 2", + "name": "นางสาวอญ ลฉ", + "positionNum": "กพร.12", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-7-3-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "988332c3-2b12-431d-a9e4-cd303e7c8e5d", + "children": null, + "positionNumInt": 12 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "664762a5-7921-4f90-af07-17602c10eb39", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 2", + "name": null, + "positionNum": "กพร.13", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-3-3-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "988332c3-2b12-431d-a9e4-cd303e7c8e5d", + "children": null, + "positionNumInt": 13 + }, + { + "personId": "08db509d-41f6-420c-89bd-f2465ebb05c8", + "profileId": "08db509d-41f4-4919-8d6e-745238810a60", + "organizationPositionId": "3bc3d7e2-2f7c-43df-bb9a-9e25cb72d1ac", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 2", + "name": "นายธม มพ", + "positionNum": "กพร.14", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-7-3-3-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "988332c3-2b12-431d-a9e4-cd303e7c8e5d", + "children": null, + "positionNumInt": 14 + }, + { + "personId": "08db509d-4202-4404-8a5e-0d0e6494f38c", + "profileId": "08db509d-4200-4384-8c00-e087a4df0bbd", + "organizationPositionId": "c0ac4694-4af9-44a8-ab37-7bb558c35199", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 2", + "name": "นางสาวนม วว", + "positionNum": "กพร.15", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-7-3-3-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "988332c3-2b12-431d-a9e4-cd303e7c8e5d", + "children": null, + "positionNumInt": 15 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 3", + "totalPositionCount": 4, + "totalPositionVacant": 0, + "organizationParentId": "4b8aac9f-064a-4ef6-9d58-c1bef4dbb995", + "keyId": "1-7-3-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "bc54f4ea-11b1-4481-b43b-607ef38ebef0", + "children": [ + { + "personId": "08db509d-420e-4846-868a-ffde3209111b", + "profileId": "08db509d-420c-4f9d-8984-98c649224aca", + "organizationPositionId": "700a46f2-a46a-483b-9803-25deef3bf1b6", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 3", + "name": "นางสาวสภ วย", + "positionNum": "กพร.16", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": true, + "keyId": "1-7-3-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "bc54f4ea-11b1-4481-b43b-607ef38ebef0", + "children": null, + "positionNumInt": 16 + }, + { + "personId": "08db509d-421e-4930-8db3-491dca1d86b8", + "profileId": "08db509d-421c-4f52-8e34-0c4149ebc599", + "organizationPositionId": "d202bb4c-6c0a-420d-ba96-94562c247282", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 3", + "name": "นายจต วพ", + "positionNum": "กพร.17", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-3-4-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "bc54f4ea-11b1-4481-b43b-607ef38ebef0", + "children": null, + "positionNumInt": 17 + }, + { + "personId": "08db509d-422b-4395-8ee1-a1cdd47a9e94", + "profileId": "08db509d-4228-4fcc-8841-18ddb7141fb0", + "organizationPositionId": "caab6970-6338-42c2-b3d1-d65db75c738f", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 3", + "name": "นายธบ ชน", + "positionNum": "กพร.18", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-7-3-4-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "bc54f4ea-11b1-4481-b43b-607ef38ebef0", + "children": null, + "positionNumInt": 18 + }, + { + "personId": "08db509d-4235-4cac-8e76-11dc6ea12b4a", + "profileId": "08db509d-4233-4a53-838f-2171d79918bb", + "organizationPositionId": "56797d92-8e5e-4e36-a037-4db27300694c", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพัฒนาระบบบริหาร 3", + "name": "นายณธ นร", + "positionNum": "กพร.19", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-3-4-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "bc54f4ea-11b1-4481-b43b-607ef38ebef0", + "children": null, + "positionNumInt": 19 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "ส่วนบริหารผลงาน ค่าตอบแทน และคุณภาพชีวิต", + "totalPositionCount": 13, + "totalPositionVacant": 7, + "organizationParentId": "0eb1720a-203b-49f0-bcf9-e1085c679736", + "keyId": "1-7-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "23ae4355-17d0-4ab5-837a-deca97a2b25f", + "children": [ + { + "personId": "08db509d-4244-43ea-8a45-9d958ad7e7e4", + "profileId": "08db509d-4242-44da-8399-601e5726bfde", + "organizationPositionId": "64769dfa-9f7f-4a3a-a2fc-11d8858e096d", + "positionMasterId": "646227c6-88d9-45d6-bf9e-d58cd7730f54", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ส่วนบริหารผลงาน ค่าตอบแทน และคุณภาพชีวิต", + "name": "นางสาวลด วช", + "positionNum": "กพร.20", + "positionName": "ผู้อำนวยการ (ผู้อำนวยการส่วน)", + "executivePosition": "ผู้อำนวยการส่วน", + "positionType": "อำนวยการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": true, + "keyId": "1-7-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "23ae4355-17d0-4ab5-837a-deca97a2b25f", + "children": null, + "positionNumInt": 20 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารผลงาน", + "totalPositionCount": 4, + "totalPositionVacant": 1, + "organizationParentId": "23ae4355-17d0-4ab5-837a-deca97a2b25f", + "keyId": "1-7-4-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "e811c3fc-d24d-4f04-a8e5-a2ec4e3b4a11", + "children": [ + { + "personId": "08db509d-4252-4bc4-8f76-e075f5864c68", + "profileId": "08db509d-4251-402e-8f4c-23c4fd7a309c", + "organizationPositionId": "9961f166-a589-4f89-9807-d6cfc65273c1", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารผลงาน", + "name": "นางสาวสษ จอ", + "positionNum": "กพร.21", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": true, + "keyId": "1-7-4-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "e811c3fc-d24d-4f04-a8e5-a2ec4e3b4a11", + "children": null, + "positionNumInt": 21 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "34c6bb1b-7761-4446-b548-406105f8e153", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารผลงาน", + "name": null, + "positionNum": "กพร.22", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-4-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "e811c3fc-d24d-4f04-a8e5-a2ec4e3b4a11", + "children": null, + "positionNumInt": 22 + }, + { + "personId": "08db509d-4261-42b3-8a42-fcca949f8b8d", + "profileId": "08db509d-425f-43b1-8358-cd8ecd6a64f2", + "organizationPositionId": "f7e4166c-e15a-4fdb-b2e4-bc9303a992ac", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารผลงาน", + "name": "นางสาวอณ บส", + "positionNum": "กพร.23", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-7-4-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "e811c3fc-d24d-4f04-a8e5-a2ec4e3b4a11", + "children": null, + "positionNumInt": 23 + }, + { + "personId": "08db509d-426c-40f0-8e1b-cdba1dc980f8", + "profileId": "08db509d-426a-4205-8310-71550243b30a", + "organizationPositionId": "2c926c37-221e-460b-a9d3-169079f3d0c4", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารผลงาน", + "name": "นายภว ขก", + "positionNum": "กพร.24", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-4-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "e811c3fc-d24d-4f04-a8e5-a2ec4e3b4a11", + "children": null, + "positionNumInt": 24 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารค่าตอบแทน", + "totalPositionCount": 4, + "totalPositionVacant": 2, + "organizationParentId": "23ae4355-17d0-4ab5-837a-deca97a2b25f", + "keyId": "1-7-4-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "ba2de1e3-d690-4ada-933f-7f69d0b27039", + "children": [ + { + "personId": "08db509d-4279-4f27-84ed-aa66c14e5714", + "profileId": "08db509d-4278-4390-8bcd-4c402ae4b441", + "organizationPositionId": "4d81bf89-3f08-4481-8ac8-b8b6a58b1f27", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารค่าตอบแทน", + "name": "นางสาววล ยศ", + "positionNum": "กพร.25", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": true, + "keyId": "1-7-4-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ba2de1e3-d690-4ada-933f-7f69d0b27039", + "children": null, + "positionNumInt": 25 + }, + { + "personId": "08db509d-4286-42b0-87b6-b4a732b24957", + "profileId": "08db509d-4284-4451-86b7-86872c352c96", + "organizationPositionId": "8ee14ca7-04f7-4a75-b29f-851555768a2c", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารค่าตอบแทน", + "name": "นายกต มศ", + "positionNum": "กพร.26", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-4-3-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ba2de1e3-d690-4ada-933f-7f69d0b27039", + "children": null, + "positionNumInt": 26 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "39464e89-e85d-4f0c-8867-723cde37c253", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารค่าตอบแทน", + "name": null, + "positionNum": "กพร.27", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-4-3-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ba2de1e3-d690-4ada-933f-7f69d0b27039", + "children": null, + "positionNumInt": 27 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "dd07016c-74f6-4ebb-99af-d7a1017f974c", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารค่าตอบแทน", + "name": null, + "positionNum": "กพร.28", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-4-3-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "ba2de1e3-d690-4ada-933f-7f69d0b27039", + "children": null, + "positionNumInt": 28 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารพัฒนาคุณภาพชีวิต", + "totalPositionCount": 4, + "totalPositionVacant": 4, + "organizationParentId": "23ae4355-17d0-4ab5-837a-deca97a2b25f", + "keyId": "1-7-4-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "07ef6f91-1fc5-4e16-b6fd-bab7f22725c3", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "220f8305-06c2-4731-9af6-8342414344d9", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารพัฒนาคุณภาพชีวิต", + "name": null, + "positionNum": "กพร.29", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-7-4-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "07ef6f91-1fc5-4e16-b6fd-bab7f22725c3", + "children": null, + "positionNumInt": 29 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "418a48cb-0295-4e43-bc1c-ab76092619d7", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารพัฒนาคุณภาพชีวิต", + "name": null, + "positionNum": "กพร.30", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-4-4-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "07ef6f91-1fc5-4e16-b6fd-bab7f22725c3", + "children": null, + "positionNumInt": 30 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "499f6ed3-f556-4488-a3d1-892b1cd00b6a", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารพัฒนาคุณภาพชีวิต", + "name": null, + "positionNum": "กพร.31", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-4-4-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "07ef6f91-1fc5-4e16-b6fd-bab7f22725c3", + "children": null, + "positionNumInt": 31 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "7a467f92-72d5-4e58-a7c3-100e08571743", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานบริหารพัฒนาคุณภาพชีวิต", + "name": null, + "positionNum": "กพร.32", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-4-4-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "07ef6f91-1fc5-4e16-b6fd-bab7f22725c3", + "children": null, + "positionNumInt": 32 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานขับเคลื่อนการบริหารทรัพยากรบุคคล", + "totalPositionCount": 4, + "totalPositionVacant": 4, + "organizationParentId": "0eb1720a-203b-49f0-bcf9-e1085c679736", + "keyId": "1-7-5", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "a2fe0181-54f6-4a92-8d59-3a43b493833c", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "570017b1-d3df-4ada-902b-7e02ac83330f", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานขับเคลื่อนการบริหารทรัพยากรบุคคล", + "name": null, + "positionNum": "กพร.33", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-7-5-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "a2fe0181-54f6-4a92-8d59-3a43b493833c", + "children": null, + "positionNumInt": 33 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "d0df02b7-7063-49bc-b85a-b2cd8934217e", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานขับเคลื่อนการบริหารทรัพยากรบุคคล", + "name": null, + "positionNum": "กพร.34", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-5-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "a2fe0181-54f6-4a92-8d59-3a43b493833c", + "children": null, + "positionNumInt": 34 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "9c944c5f-44f1-4dfa-a608-944ba48dc90e", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานขับเคลื่อนการบริหารทรัพยากรบุคคล", + "name": null, + "positionNum": "กพร.35", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-5-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "a2fe0181-54f6-4a92-8d59-3a43b493833c", + "children": null, + "positionNumInt": 35 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "b51f13a9-9f1c-4f17-b60c-fae9b3de47f7", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานขับเคลื่อนการบริหารทรัพยากรบุคคล", + "name": null, + "positionNum": "กพร.36", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-7-5-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "a2fe0181-54f6-4a92-8d59-3a43b493833c", + "children": null, + "positionNumInt": 36 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "ศูนย์สารสนเทศทรัพยากรบุคคล", + "totalPositionCount": 21, + "totalPositionVacant": 2, + "organizationParentId": "61a11705-8346-4336-8289-49f72ed9463f", + "keyId": "1-8", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "fe247735-b15f-40a7-aef2-08dbe937d223", + "children": [ + { + "personId": "08db509d-45bd-4e29-8a9b-a9828c5998fd", + "profileId": "08db509d-45bb-4f08-8835-60a5bdea49d9", + "organizationPositionId": "4032cd4d-c9cd-45c1-926b-4a68d4b92ff8", + "positionMasterId": "b118dc4d-b0ef-4bf1-a1b1-ddab01ac3d6f", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ศูนย์สารสนเทศทรัพยากรบุคคล", + "name": "นางสาวณก สส", + "positionNum": "ศสท.1", + "positionName": "ผู้อำนวยการ (ผู้อำนวยการกอง)", + "executivePosition": "ผู้อำนวยการกอง", + "positionType": "อำนวยการ", + "positionLevel": "ต้น", + "positionLeaderFlag": true, + "keyId": "1-8-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "fe247735-b15f-40a7-aef2-08dbe937d223", + "children": null, + "positionNumInt": 1 + }, + { + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "totalPositionCount": 5, + "totalPositionVacant": 1, + "organizationParentId": "fe247735-b15f-40a7-aef2-08dbe937d223", + "keyId": "1-8-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "f373ff40-4142-4dd8-af2d-6e2af046b4b4", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "7d63d6de-9733-45f5-a619-126732104147", + "positionMasterId": "d5a1c0d1-7e09-43a0-af7e-0791505fd4cf", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": null, + "positionNum": "ศสท.2", + "positionName": "นักจัดการงานทั่วไป (หัวหน้าฝ่าย)", + "executivePosition": "หัวหน้าฝ่าย", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-8-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f373ff40-4142-4dd8-af2d-6e2af046b4b4", + "children": null, + "positionNumInt": 2 + }, + { + "personId": "08db509d-45cd-42e7-849e-593c0f9e76fc", + "profileId": "08db509d-45ca-49da-8cd0-05f6eb784878", + "organizationPositionId": "e017fcf2-e6e1-423c-935a-8d72e1bd3f3d", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางสาวปพ ออ", + "positionNum": "ศสท.3", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-8-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f373ff40-4142-4dd8-af2d-6e2af046b4b4", + "children": null, + "positionNumInt": 3 + }, + { + "personId": "08db509d-45da-48dd-87a3-a7b191b0f468", + "profileId": "08db509d-45d8-4557-89a9-1e2626b05329", + "organizationPositionId": "a3687a7e-53ba-429b-9271-b751bc2fb74f", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางกม ทช", + "positionNum": "ศสท.4", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-8-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f373ff40-4142-4dd8-af2d-6e2af046b4b4", + "children": null, + "positionNumInt": 4 + }, + { + "personId": "08db509d-45e9-4daa-8d7b-23c9db8a463f", + "profileId": "08db509d-45e5-4dc6-88dc-a8e2ea31499a", + "organizationPositionId": "e7140487-d866-4898-862d-5ab6fdd2cbcb", + "positionMasterId": "756eecb1-b83f-4401-abee-10ced681ff82", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางอท ชส", + "positionNum": "ศสท.5", + "positionName": "เจ้าพนักงานการเงินและบัญชี", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-8-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f373ff40-4142-4dd8-af2d-6e2af046b4b4", + "children": null, + "positionNumInt": 5 + }, + { + "personId": "08db509d-45f7-47ad-8cb2-ba4a95354ec4", + "profileId": "08db509d-45f5-47d2-8b92-e0fc8fbe9a61", + "organizationPositionId": "701535c4-49b4-4c1c-b04d-a84dca57a357", + "positionMasterId": "2b26066c-9bf8-4ff8-92c6-a115f992d96a", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางสาววด ทญ", + "positionNum": "ศสท.6", + "positionName": "เจ้าพนักงานธุรการ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-8-2-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f373ff40-4142-4dd8-af2d-6e2af046b4b4", + "children": null, + "positionNumInt": 6 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานสารสนเทศทรัพยากรบุคคล", + "totalPositionCount": 7, + "totalPositionVacant": 0, + "organizationParentId": "fe247735-b15f-40a7-aef2-08dbe937d223", + "keyId": "1-8-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "27506b2a-c479-425c-9824-122f1cab9198", + "children": [ + { + "personId": "08db509d-4605-4ef6-8f46-d09a9f5d92ba", + "profileId": "08db509d-4603-436a-8875-04958089367b", + "organizationPositionId": "a231f1c4-e3be-487c-b6d8-02a8e75cc3bf", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสารสนเทศทรัพยากรบุคคล", + "name": "นายอธ ลก", + "positionNum": "ศสท.7", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": true, + "keyId": "1-8-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "27506b2a-c479-425c-9824-122f1cab9198", + "children": null, + "positionNumInt": 7 + }, + { + "personId": "08db509d-4613-4f2e-818a-6575e8f1d29a", + "profileId": "08db509d-4612-40da-823c-2971c8c12d2f", + "organizationPositionId": "6087ec00-935b-479b-b998-ad43a3b188f3", + "positionMasterId": "5516ab4b-561c-4626-ac2d-a0c0c07000d7", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสารสนเทศทรัพยากรบุคคล", + "name": "นางสาววน สม", + "positionNum": "ศสท.8", + "positionName": "นักวิชาการคอมพิวเตอร์", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-8-3-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "27506b2a-c479-425c-9824-122f1cab9198", + "children": null, + "positionNumInt": 8 + }, + { + "personId": "08db509d-461f-4fef-8617-1c2f8efed117", + "profileId": "08db509d-461d-4fec-8488-dec4203eba60", + "organizationPositionId": "cca6c708-4cfe-4337-be3f-dd5ef1337aff", + "positionMasterId": "5516ab4b-561c-4626-ac2d-a0c0c07000d7", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสารสนเทศทรัพยากรบุคคล", + "name": "นางสาวสภ สท", + "positionNum": "ศสท.9", + "positionName": "นักวิชาการคอมพิวเตอร์", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-8-3-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "27506b2a-c479-425c-9824-122f1cab9198", + "children": null, + "positionNumInt": 9 + }, + { + "personId": "08db509d-462c-497e-8d7c-12f18b3c1faa", + "profileId": "08db509d-462a-4704-87a6-dd33742c7596", + "organizationPositionId": "1dd47547-405e-462c-b40c-c594e74ddfaf", + "positionMasterId": "5516ab4b-561c-4626-ac2d-a0c0c07000d7", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสารสนเทศทรัพยากรบุคคล", + "name": "นางพ สพ", + "positionNum": "ศสท.10", + "positionName": "นักวิชาการคอมพิวเตอร์", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-8-3-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "27506b2a-c479-425c-9824-122f1cab9198", + "children": null, + "positionNumInt": 10 + }, + { + "personId": "08db509d-4638-46a1-8782-72c938fb0e53", + "profileId": "08db509d-4636-4540-80d2-e2109551e364", + "organizationPositionId": "71c55840-d595-4273-8d0b-a9d937e21638", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสารสนเทศทรัพยากรบุคคล", + "name": "นางสาวจพ มพ", + "positionNum": "ศสท.11", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-8-3-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "27506b2a-c479-425c-9824-122f1cab9198", + "children": null, + "positionNumInt": 11 + }, + { + "personId": "08db509d-4645-431f-8054-b7faf731d554", + "profileId": "08db509d-4643-42a3-8b5c-b70329f51fc7", + "organizationPositionId": "59054bfb-92fd-4a0c-9eef-d97fe72975d0", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสารสนเทศทรัพยากรบุคคล", + "name": "นางสาวสย ชช", + "positionNum": "ศสท.12", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-8-3-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "27506b2a-c479-425c-9824-122f1cab9198", + "children": null, + "positionNumInt": 12 + }, + { + "personId": "08db509d-4651-4ec6-8707-699c0ae016b7", + "profileId": "08db509d-464f-4fc1-862b-6c8adc6b9039", + "organizationPositionId": "348584cc-48fe-4f86-b24f-4f855fedf920", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานสารสนเทศทรัพยากรบุคคล", + "name": "นางสาวฉญ รม", + "positionNum": "ศสท.13", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-8-3-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "27506b2a-c479-425c-9824-122f1cab9198", + "children": null, + "positionNumInt": 13 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานทะเบียนประวัติทรัพยากรบุคคล 1", + "totalPositionCount": 4, + "totalPositionVacant": 1, + "organizationParentId": "fe247735-b15f-40a7-aef2-08dbe937d223", + "keyId": "1-8-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "82a69ae0-321e-4559-9177-b45c18ab35c1", + "children": [ + { + "personId": "08db509d-465e-4c51-871c-0043a148796d", + "profileId": "08db509d-465c-4aff-882d-8b6c93b4f138", + "organizationPositionId": "318f13b3-7419-4efa-b836-00cfb77ec653", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานทะเบียนประวัติทรัพยากรบุคคล 1", + "name": "นางกส พด", + "positionNum": "ศสท.14", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": true, + "keyId": "1-8-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "82a69ae0-321e-4559-9177-b45c18ab35c1", + "children": null, + "positionNumInt": 14 + }, + { + "personId": "08db509d-466e-4746-8f4b-830af0df5952", + "profileId": "08db509d-466b-4487-847f-63423c222fe6", + "organizationPositionId": "6a1cce91-fe19-49ff-8669-2bf4a548cfd7", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานทะเบียนประวัติทรัพยากรบุคคล 1", + "name": "นายจฑ ทก", + "positionNum": "ศสท.15", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-8-4-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "82a69ae0-321e-4559-9177-b45c18ab35c1", + "children": null, + "positionNumInt": 15 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "c49247e5-d2d5-4398-bcb6-c41fcf7667d3", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานทะเบียนประวัติทรัพยากรบุคคล 1", + "name": null, + "positionNum": "ศสท.16", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ,ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-8-4-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "82a69ae0-321e-4559-9177-b45c18ab35c1", + "children": null, + "positionNumInt": 16 + }, + { + "personId": "08db509d-4680-402a-8a89-466957e7f0f6", + "profileId": "08db509d-467d-4a70-8bbd-cd4a789c73a7", + "organizationPositionId": "6a623e62-ea63-4f19-9ff5-c957dc590684", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานทะเบียนประวัติทรัพยากรบุคคล 1", + "name": "นางสาวยว ศม", + "positionNum": "ศสท.17", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-8-4-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "82a69ae0-321e-4559-9177-b45c18ab35c1", + "children": null, + "positionNumInt": 17 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานทะเบียนประวัติทรัพยากรบุคคล 2", + "totalPositionCount": 4, + "totalPositionVacant": 0, + "organizationParentId": "fe247735-b15f-40a7-aef2-08dbe937d223", + "keyId": "1-8-5", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "13cd7657-8024-4959-a196-af976d6dec49", + "children": [ + { + "personId": "08db509d-468e-4c18-8be4-adfdc125c4f6", + "profileId": "08db509d-468b-44c4-8717-466d900bddef", + "organizationPositionId": "2d6c089c-294d-470b-86df-2c92e3a32270", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานทะเบียนประวัติทรัพยากรบุคคล 2", + "name": "นายศ จม", + "positionNum": "ศสท.18", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-8-5-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "13cd7657-8024-4959-a196-af976d6dec49", + "children": null, + "positionNumInt": 18 + }, + { + "personId": "08db509d-469d-4f36-832f-ccd3a23538fe", + "profileId": "08db509d-469a-4285-8b30-0061044db861", + "organizationPositionId": "206898b1-d94a-463d-a685-d8ecfe287cf7", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานทะเบียนประวัติทรัพยากรบุคคล 2", + "name": "นางสาวชก นว", + "positionNum": "ศสท.19", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-8-5-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "13cd7657-8024-4959-a196-af976d6dec49", + "children": null, + "positionNumInt": 19 + }, + { + "personId": "08db509d-46ac-4edc-8aca-340b9193ce35", + "profileId": "08db509d-46aa-4125-8e3b-1266514bc568", + "organizationPositionId": "8fa4d874-090d-46ad-b90c-5c8815845b34", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานทะเบียนประวัติทรัพยากรบุคคล 2", + "name": "นายวฉ ฉท", + "positionNum": "ศสท.20", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-8-5-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "13cd7657-8024-4959-a196-af976d6dec49", + "children": null, + "positionNumInt": 20 + }, + { + "personId": "08db509d-46b8-4bfc-8025-f50a43ddf15f", + "profileId": "08db509d-46b6-44c8-89cc-9d0f71cc6cec", + "organizationPositionId": "b00e87ca-c622-4371-9b8d-b0edf165c73f", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานทะเบียนประวัติทรัพยากรบุคคล 2", + "name": "นายอภ บก", + "positionNum": "ศสท.21", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-8-5-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "13cd7657-8024-4959-a196-af976d6dec49", + "children": null, + "positionNumInt": 21 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กองวินัยและเสริมสร้างจริยธรรม", + "totalPositionCount": 27, + "totalPositionVacant": 7, + "organizationParentId": "61a11705-8346-4336-8289-49f72ed9463f", + "keyId": "1-9", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "aa24437b-aa80-4683-a783-04f1c12a85e9", + "children": [ + { + "personId": "08db509d-46c3-4c28-8f8f-3a9d3e250a29", + "profileId": "08db509d-46c1-4668-891b-141d7aaa55cd", + "organizationPositionId": "dc6804e5-4b44-4377-8149-25c691eb13c2", + "positionMasterId": "30dac0bb-6108-4c24-97b8-2822e8e87038", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กองวินัยและเสริมสร้างจริยธรรม", + "name": "นางสาวตศ นท", + "positionNum": "กวส.1", + "positionName": "ผู้อำนวยการเฉพาะด้าน (ผู้อำนวยการกอง)", + "executivePosition": "ผู้อำนวยการกอง", + "positionType": "อำนวยการ", + "positionLevel": "สูง", + "positionLeaderFlag": true, + "keyId": "1-9-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "aa24437b-aa80-4683-a783-04f1c12a85e9", + "children": null, + "positionNumInt": 1 + }, + { + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "totalPositionCount": 5, + "totalPositionVacant": 1, + "organizationParentId": "aa24437b-aa80-4683-a783-04f1c12a85e9", + "keyId": "1-9-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "f24e0b08-7fa1-4c20-b375-4da8eb0b41b3", + "children": [ + { + "personId": "08db509d-46ce-4449-8c1a-4426c5ed0da5", + "profileId": "08db509d-46cc-453d-871f-6f0ac6ea5110", + "organizationPositionId": "5a3296b6-8beb-455b-addd-5c4d3a3ab62c", + "positionMasterId": "22e9ed9e-8614-4deb-aabc-d79733f8c781", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางศภ ศส", + "positionNum": "กวส.2", + "positionName": "นักจัดการงานทั่วไป (หัวหน้าฝ่าย)", + "executivePosition": "หัวหน้าฝ่าย", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": true, + "keyId": "1-9-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f24e0b08-7fa1-4c20-b375-4da8eb0b41b3", + "children": null, + "positionNumInt": 2 + }, + { + "personId": "08db509d-46dc-43f9-8211-1250b16e59f5", + "profileId": "08db509d-46d8-47f2-841b-dd26e7586252", + "organizationPositionId": "767d5502-3473-4a0c-9fed-71cda080ccc3", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางสาวศธ วพ", + "positionNum": "กวส.3", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-9-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f24e0b08-7fa1-4c20-b375-4da8eb0b41b3", + "children": null, + "positionNumInt": 3 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "5151de0d-a33d-4eb0-b44b-0b797a7511f6", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": null, + "positionNum": "กวส.4", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ,ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-9-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f24e0b08-7fa1-4c20-b375-4da8eb0b41b3", + "children": null, + "positionNumInt": 4 + }, + { + "personId": "08db509d-46e8-4106-8350-44a9b1c275b4", + "profileId": "08db509d-46e5-4d1f-8bd8-49eeb31fa07a", + "organizationPositionId": "6218dc9a-406d-4f3d-863d-cf3d5279193c", + "positionMasterId": "756eecb1-b83f-4401-abee-10ced681ff82", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นายพน อช", + "positionNum": "กวส.5", + "positionName": "เจ้าพนักงานการเงินและบัญชี", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ต้น", + "positionLeaderFlag": false, + "keyId": "1-9-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f24e0b08-7fa1-4c20-b375-4da8eb0b41b3", + "children": null, + "positionNumInt": 5 + }, + { + "personId": "08db509d-46f5-400a-8f2b-b719158608da", + "profileId": "08db509d-46f2-4cfb-8657-1d34cd4d28d8", + "organizationPositionId": "a773feb7-ffb8-49b5-9f68-33378b3ec3e1", + "positionMasterId": "2b26066c-9bf8-4ff8-92c6-a115f992d96a", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นายณภ ศจ", + "positionNum": "กวส.6", + "positionName": "เจ้าพนักงานธุรการ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-9-2-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f24e0b08-7fa1-4c20-b375-4da8eb0b41b3", + "children": null, + "positionNumInt": 6 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "ส่วนวินัยและเสริมสร้างจริยธรรม", + "totalPositionCount": 12, + "totalPositionVacant": 1, + "organizationParentId": "aa24437b-aa80-4683-a783-04f1c12a85e9", + "keyId": "1-9-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "f50837eb-4b94-4881-9039-38bf9591f701", + "children": [ + { + "personId": "08db509d-4701-4a3b-8ef3-b371ddf88bea", + "profileId": "08db509d-46ff-47a4-8d17-65c944f1bbc6", + "organizationPositionId": "7587d8f5-49f8-43ef-a1b9-f30bef475b8f", + "positionMasterId": "0cb11866-c967-4c95-82eb-758883c90fa9", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ส่วนวินัยและเสริมสร้างจริยธรรม", + "name": "นางสาวศร วพ", + "positionNum": "กวส.7", + "positionName": "ผู้อำนวยการเฉพาะด้าน (ผู้อำนวยการส่วน)", + "executivePosition": "ผู้อำนวยการส่วน", + "positionType": "อำนวยการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": true, + "keyId": "1-9-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "f50837eb-4b94-4881-9039-38bf9591f701", + "children": null, + "positionNumInt": 7 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานวินัย", + "totalPositionCount": 7, + "totalPositionVacant": 1, + "organizationParentId": "f50837eb-4b94-4881-9039-38bf9591f701", + "keyId": "1-9-3-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "92409380-2b8d-476a-abd2-b7b911f4d235", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "eee6fd92-bf22-4d93-ba41-3a5f999ee977", + "positionMasterId": "7801553f-12c3-4f09-9889-2b4b67cab35e", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานวินัย", + "name": null, + "positionNum": "กวส.8", + "positionName": "นิติกร (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-9-3-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "92409380-2b8d-476a-abd2-b7b911f4d235", + "children": null, + "positionNumInt": 8 + }, + { + "personId": "08db509d-470d-4fd1-88d2-9a0d0801b406", + "profileId": "08db509d-470b-4fcd-813c-ac8e8d31dfb0", + "organizationPositionId": "486f045b-a264-444e-9b7c-37f9b3084c02", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานวินัย", + "name": "นางสาวภภ จส", + "positionNum": "กวส.9", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-9-3-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "92409380-2b8d-476a-abd2-b7b911f4d235", + "children": null, + "positionNumInt": 9 + }, + { + "personId": "08db509d-471b-46cd-8b6d-f4c049b64532", + "profileId": "08db509d-4719-41de-83d3-a985ddf88322", + "organizationPositionId": "91cc9b5c-a93d-4332-b045-e72770885b35", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานวินัย", + "name": "นางสาวชน นก", + "positionNum": "กวส.10", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-9-3-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "92409380-2b8d-476a-abd2-b7b911f4d235", + "children": null, + "positionNumInt": 10 + }, + { + "personId": "08db509d-472a-4146-882a-ec8be1d89e87", + "profileId": "08db509d-4728-40ac-83fd-b3b318e8b250", + "organizationPositionId": "50a85ecf-d64a-4ec2-9b60-1a60a9d02e31", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานวินัย", + "name": "นายณ คน", + "positionNum": "กวส.11", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-9-3-2-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "92409380-2b8d-476a-abd2-b7b911f4d235", + "children": null, + "positionNumInt": 11 + }, + { + "personId": "08db509d-4737-4840-8645-056b77b04782", + "profileId": "08db509d-4735-401a-8d58-6f864db8921f", + "organizationPositionId": "7a5a2c97-d0f3-47ed-b741-90f3f0e01c86", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานวินัย", + "name": "นางสาวนย จส", + "positionNum": "กวส.12", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-9-3-2-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "92409380-2b8d-476a-abd2-b7b911f4d235", + "children": null, + "positionNumInt": 12 + }, + { + "personId": "08db509d-4743-4c9a-8173-a423ab60a086", + "profileId": "08db509d-4741-4b10-8336-78d7008d5474", + "organizationPositionId": "1efcb811-170c-403c-ab99-a0b54bb3c706", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานวินัย", + "name": "นายคผ ลอ", + "positionNum": "กวส.13", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-9-3-2-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "92409380-2b8d-476a-abd2-b7b911f4d235", + "children": null, + "positionNumInt": 13 + }, + { + "personId": "08db509d-4751-44e5-8d6e-b38095b0326c", + "profileId": "08db509d-474e-48c9-8757-47ff8deefc81", + "organizationPositionId": "9f1c927b-6ed0-4b23-96ae-f9c950a8bfd6", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานมาตรฐานวินัย", + "name": "นายปร สบ", + "positionNum": "กวส.14", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-9-3-2-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "92409380-2b8d-476a-abd2-b7b911f4d235", + "children": null, + "positionNumInt": 14 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานเสริมสร้างจริยธรรม", + "totalPositionCount": 4, + "totalPositionVacant": 0, + "organizationParentId": "f50837eb-4b94-4881-9039-38bf9591f701", + "keyId": "1-9-3-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "7bcb908e-3787-428c-9880-7b69df9c05dd", + "children": [ + { + "personId": "08db509d-475d-473c-8e48-2b86ff5bdbb7", + "profileId": "08db509d-475b-46a7-8e13-dde5311c4765", + "organizationPositionId": "2b0738f7-344d-43e8-af9c-81ee07cae1ab", + "positionMasterId": "6fbd226a-5dff-469d-a46e-cf49fcb0b621", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานเสริมสร้างจริยธรรม", + "name": "นายศช ตส", + "positionNum": "กวส.15", + "positionName": "นักทรัพยากรบุคคล (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-9-3-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "7bcb908e-3787-428c-9880-7b69df9c05dd", + "children": null, + "positionNumInt": 15 + }, + { + "personId": "08db509d-476a-4554-879c-400397ad9acb", + "profileId": "08db509d-4768-4495-8a68-16111eefa7e2", + "organizationPositionId": "ec2d7921-9b81-4544-883f-f79f97e53865", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานเสริมสร้างจริยธรรม", + "name": "นายกก สส", + "positionNum": "กวส.16", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-9-3-3-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "7bcb908e-3787-428c-9880-7b69df9c05dd", + "children": null, + "positionNumInt": 16 + }, + { + "personId": "08db509d-4777-4033-826a-298bc0c223c0", + "profileId": "08db509d-4774-4770-800e-b130eb25724d", + "organizationPositionId": "714f4472-ff9b-4ca7-ae8b-cffa877d9ab6", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานเสริมสร้างจริยธรรม", + "name": "นางสาวธล บว", + "positionNum": "กวส.17", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-9-3-3-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "7bcb908e-3787-428c-9880-7b69df9c05dd", + "children": null, + "positionNumInt": 17 + }, + { + "personId": "08db509d-4782-4e3d-8c40-311765d07966", + "profileId": "08db509d-4780-4979-87a5-bcd606b6391f", + "organizationPositionId": "81e7b327-5c87-4235-baa3-9cbdca5e7a79", + "positionMasterId": "9394e5b4-b9ed-4277-a05f-d948e116aa9c", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานเสริมสร้างจริยธรรม", + "name": "นางสาวณธ รศ", + "positionNum": "กวส.18", + "positionName": "นักทรัพยากรบุคคล", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-9-3-3-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "7bcb908e-3787-428c-9880-7b69df9c05dd", + "children": null, + "positionNumInt": 18 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานป้องกันและต่อต้านการทุจริต", + "totalPositionCount": 5, + "totalPositionVacant": 1, + "organizationParentId": "aa24437b-aa80-4683-a783-04f1c12a85e9", + "keyId": "1-9-4", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "8ff58aa7-a239-41c9-83f2-ef63ae06dc5d", + "children": [ + { + "personId": "08db509d-4790-4509-8486-939d56fb2700", + "profileId": "08db509d-478e-41d9-89a3-a087e2f1572f", + "organizationPositionId": "bcd419bf-3743-486a-ab48-71cef144fd76", + "positionMasterId": "7801553f-12c3-4f09-9889-2b4b67cab35e", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานป้องกันและต่อต้านการทุจริต", + "name": "นางสาวมน มด", + "positionNum": "กวส.19", + "positionName": "นิติกร (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": true, + "keyId": "1-9-4-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8ff58aa7-a239-41c9-83f2-ef63ae06dc5d", + "children": null, + "positionNumInt": 19 + }, + { + "personId": "08db509d-479c-4ba3-839b-5304fc41c2e7", + "profileId": "08db509d-479a-48c4-87e7-a4818d8fcbc1", + "organizationPositionId": "9e89ebd5-4b72-4e0f-b30d-b00e7d3b4e5c", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานป้องกันและต่อต้านการทุจริต", + "name": "นางสาวรท สอ", + "positionNum": "กวส.20", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": false, + "keyId": "1-9-4-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8ff58aa7-a239-41c9-83f2-ef63ae06dc5d", + "children": null, + "positionNumInt": 20 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "b6cc8916-e81d-4b81-b4c9-731df5697a57", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานป้องกันและต่อต้านการทุจริต", + "name": null, + "positionNum": "กวส.21", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ปฏิบัติการ,ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-9-4-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8ff58aa7-a239-41c9-83f2-ef63ae06dc5d", + "children": null, + "positionNumInt": 21 + }, + { + "personId": "08db509d-47ab-498e-878b-c0d69112dd3f", + "profileId": "08db509d-47a9-48f3-8aca-2b0a31935104", + "organizationPositionId": "130a75be-7c9b-4f00-a2b4-d9a8fb1d9c7f", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานป้องกันและต่อต้านการทุจริต", + "name": "นางสาวทพ มพ", + "positionNum": "กวส.22", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-9-4-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8ff58aa7-a239-41c9-83f2-ef63ae06dc5d", + "children": null, + "positionNumInt": 22 + }, + { + "personId": "08db509d-47b7-4fe8-88a7-e526fda12abc", + "profileId": "08db509d-47b5-4b6e-8c92-852b7d1ed828", + "organizationPositionId": "d5bcf882-4388-44cc-a45a-6179a0288673", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานป้องกันและต่อต้านการทุจริต", + "name": "นายวภ จพ", + "positionNum": "กวส.23", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-9-4-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "8ff58aa7-a239-41c9-83f2-ef63ae06dc5d", + "children": null, + "positionNumInt": 23 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานนิติการ", + "totalPositionCount": 4, + "totalPositionVacant": 4, + "organizationParentId": "aa24437b-aa80-4683-a783-04f1c12a85e9", + "keyId": "1-9-5", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "1c5ceb7b-f856-48d5-aeac-3ded65f66283", + "children": [ + { + "personId": null, + "profileId": null, + "organizationPositionId": "f0aada2b-930e-4dd9-ba51-7a05f8978611", + "positionMasterId": "7801553f-12c3-4f09-9889-2b4b67cab35e", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานนิติการ", + "name": null, + "positionNum": "กวส.24", + "positionName": "นิติกร (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-9-5-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "1c5ceb7b-f856-48d5-aeac-3ded65f66283", + "children": null, + "positionNumInt": 24 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "cb09a2d7-5631-4649-b871-bb63ead1c039", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานนิติการ", + "name": null, + "positionNum": "กวส.25", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ปฏิบัติการ,ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-9-5-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "1c5ceb7b-f856-48d5-aeac-3ded65f66283", + "children": null, + "positionNumInt": 25 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "eec54509-38ab-4f39-9099-831379588914", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานนิติการ", + "name": null, + "positionNum": "กวส.26", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ปฏิบัติการ,ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-9-5-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "1c5ceb7b-f856-48d5-aeac-3ded65f66283", + "children": null, + "positionNumInt": 26 + }, + { + "personId": null, + "profileId": null, + "organizationPositionId": "1a1e35fe-a5fe-4cf6-9771-5b6f733b3e78", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานนิติการ", + "name": null, + "positionNum": "กวส.27", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ปฏิบัติการ,ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-9-5-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "1c5ceb7b-f856-48d5-aeac-3ded65f66283", + "children": null, + "positionNumInt": 27 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มการประชุม", + "totalPositionCount": 0, + "totalPositionVacant": 0, + "organizationParentId": "1c5ceb7b-f856-48d5-aeac-3ded65f66283", + "keyId": "1-9-5-5", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "b6b41d95-36c5-4ef1-939b-fc35995e9e1d", + "children": [], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กองพิทักษ์ระบบคุณธรรม", + "totalPositionCount": 14, + "totalPositionVacant": 0, + "organizationParentId": "61a11705-8346-4336-8289-49f72ed9463f", + "keyId": "1-10", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "29737d35-0da9-4f1a-b93a-75876a9cb540", + "children": [ + { + "personId": "08db509d-47c5-4c81-8651-121d8bd9e2eb", + "profileId": "08db509d-47c3-4665-8895-1fb75ec697e2", + "organizationPositionId": "a7153ac4-ea78-4b71-b0e1-e66bdff36bea", + "positionMasterId": "9575732a-b8ad-4736-9b3c-c5d73bfd3845", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กองพิทักษ์ระบบคุณธรรม", + "name": "นายภว อม", + "positionNum": "กพค.1", + "positionName": "ผู้อำนวยการเฉพาะด้าน (ผู้อำนวยการกอง)", + "executivePosition": "ผู้อำนวยการกอง", + "positionType": "อำนวยการ", + "positionLevel": "ต้น", + "positionLeaderFlag": true, + "keyId": "1-10-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "29737d35-0da9-4f1a-b93a-75876a9cb540", + "children": null, + "positionNumInt": 1 + }, + { + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "totalPositionCount": 3, + "totalPositionVacant": 0, + "organizationParentId": "29737d35-0da9-4f1a-b93a-75876a9cb540", + "keyId": "1-10-2", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "777d7db3-514a-4bed-9422-e8d5d47a1fa7", + "children": [ + { + "personId": "08db509d-47d4-42fc-83fa-92dc9f0a2b38", + "profileId": "08db509d-47d2-41de-8da3-cac7f4610dc5", + "organizationPositionId": "2897e080-f6e7-4663-97c3-b31b772001a5", + "positionMasterId": "22e9ed9e-8614-4deb-aabc-d79733f8c781", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางสาวทว สท", + "positionNum": "กพค.2", + "positionName": "นักจัดการงานทั่วไป (หัวหน้าฝ่าย)", + "executivePosition": "หัวหน้าฝ่าย", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": true, + "keyId": "1-10-2-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "777d7db3-514a-4bed-9422-e8d5d47a1fa7", + "children": null, + "positionNumInt": 2 + }, + { + "personId": "08db509d-47e2-47c9-8dcf-8fb66b6b2ada", + "profileId": "08db509d-47df-4efc-80f0-2920f0fcc4c1", + "organizationPositionId": "0d8f89bf-5784-404d-b7d4-27eafa292fa4", + "positionMasterId": "0b013628-2925-4d91-ad75-8f6162024b29", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นางสาวอบ ศว", + "positionNum": "กพค.3", + "positionName": "นักจัดการงานทั่วไป", + "executivePosition": "", + "positionType": "วิชาการ", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-10-2-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "777d7db3-514a-4bed-9422-e8d5d47a1fa7", + "children": null, + "positionNumInt": 3 + }, + { + "personId": "08db509d-47f0-48a5-8c07-0e36129bd001", + "profileId": "08db509d-47ee-4519-8beb-0867e291e9c2", + "organizationPositionId": "80894e40-6262-4d05-a9ce-88b3a7e52053", + "positionMasterId": "2b26066c-9bf8-4ff8-92c6-a115f992d96a", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "ฝ่ายบริหารงานทั่วไป", + "name": "นายสช จส", + "positionNum": "กพค.4", + "positionName": "เจ้าพนักงานธุรการ", + "executivePosition": "", + "positionType": "ทั่วไป", + "positionLevel": "ชำนาญงาน", + "positionLeaderFlag": false, + "keyId": "1-10-2-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "777d7db3-514a-4bed-9422-e8d5d47a1fa7", + "children": null, + "positionNumInt": 4 + } + ], + "positionNumInt": 999 + }, + { + "organizationCode": null, + "organizationName": "กลุ่มงานพิทักษ์ระบบคุณธรรม", + "totalPositionCount": 10, + "totalPositionVacant": 0, + "organizationParentId": "29737d35-0da9-4f1a-b93a-75876a9cb540", + "keyId": "1-10-3", + "header": "organization", + "lazy": false, + "enabled": true, + "organizationId": "5d69fed6-0961-4c79-af3c-094a21bdde82", + "children": [ + { + "personId": "08db509d-4800-417b-8477-5bdd6d8e9d92", + "profileId": "08db509d-47fd-4747-876a-9994fd86b0e2", + "organizationPositionId": "f6e7867c-24c5-492f-9b35-cb4c08079c5f", + "positionMasterId": "7801553f-12c3-4f09-9889-2b4b67cab35e", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพิทักษ์ระบบคุณธรรม", + "name": "นายปพ ธศ", + "positionNum": "กพค.5", + "positionName": "นิติกร (หัวหน้ากลุ่มงาน)", + "executivePosition": "หัวหน้ากลุ่มงาน", + "positionType": "วิชาการ", + "positionLevel": "ชำนาญการพิเศษ", + "positionLeaderFlag": true, + "keyId": "1-10-3-1", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5d69fed6-0961-4c79-af3c-094a21bdde82", + "children": null, + "positionNumInt": 5 + }, + { + "personId": "08db509d-480d-4320-8892-00f4c46018eb", + "profileId": "08db509d-480b-41fc-8e39-a8e3babf3ba7", + "organizationPositionId": "26a016a2-843d-4d99-a7aa-52fc9c4b6154", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพิทักษ์ระบบคุณธรรม", + "name": "นางสาวนย มบ", + "positionNum": "กพค.6", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-10-3-2", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5d69fed6-0961-4c79-af3c-094a21bdde82", + "children": null, + "positionNumInt": 6 + }, + { + "personId": "08db509d-481b-4a38-8b86-e3ae0c6ce939", + "profileId": "08db509d-4818-4e4c-812f-f68947a9973a", + "organizationPositionId": "c1da3e8b-b280-4c37-9e7c-968edc579ac9", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพิทักษ์ระบบคุณธรรม", + "name": "นางสาวพภ ขท", + "positionNum": "กพค.7", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-10-3-3", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5d69fed6-0961-4c79-af3c-094a21bdde82", + "children": null, + "positionNumInt": 7 + }, + { + "personId": "08db509d-4828-48f7-8415-bed308c8c931", + "profileId": "08db509d-4826-46bd-84ee-fa235ec71aec", + "organizationPositionId": "9ac55d9b-5e03-4aea-afc3-565fccc76e9e", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพิทักษ์ระบบคุณธรรม", + "name": "นายอร ปถ", + "positionNum": "กพค.8", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-10-3-4", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5d69fed6-0961-4c79-af3c-094a21bdde82", + "children": null, + "positionNumInt": 8 + }, + { + "personId": "08db509d-4835-4f57-8da4-549f2a6601b0", + "profileId": "08db509d-4833-4996-8ad3-af25ddd12f84", + "organizationPositionId": "0ff4e9bb-dbf8-4d35-b6dd-860a26fb4a84", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพิทักษ์ระบบคุณธรรม", + "name": "นายรพ ตส", + "positionNum": "กพค.9", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-10-3-5", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5d69fed6-0961-4c79-af3c-094a21bdde82", + "children": null, + "positionNumInt": 9 + }, + { + "personId": "08db509d-4843-4e9d-85b0-b4becff64cdb", + "profileId": "08db509d-4841-48e3-8f17-2b058f74ed86", + "organizationPositionId": "fac4e9d1-efb6-4f71-a546-a5d453873f86", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพิทักษ์ระบบคุณธรรม", + "name": "นางสาวปด นฉ", + "positionNum": "กพค.10", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ปฏิบัติการ", + "positionLeaderFlag": false, + "keyId": "1-10-3-6", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5d69fed6-0961-4c79-af3c-094a21bdde82", + "children": null, + "positionNumInt": 10 + }, + { + "personId": "08db509d-4852-49af-8c5d-c6ad254d87c3", + "profileId": "08db509d-484f-4e77-8b6e-14d4522b6032", + "organizationPositionId": "be120bf0-4b31-4ded-a013-cedf5745b513", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพิทักษ์ระบบคุณธรรม", + "name": "นายพท สว", + "positionNum": "กพค.11", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-10-3-7", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5d69fed6-0961-4c79-af3c-094a21bdde82", + "children": null, + "positionNumInt": 11 + }, + { + "personId": "08db509d-4864-4634-8ad5-74fdab9ca5cd", + "profileId": "08db509d-4861-4c0c-8f7d-0c87ea271c0e", + "organizationPositionId": "18ec1907-20e8-4538-b2e8-02706a65b3ab", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพิทักษ์ระบบคุณธรรม", + "name": "นางสาวพน นว", + "positionNum": "กพค.12", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-10-3-8", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5d69fed6-0961-4c79-af3c-094a21bdde82", + "children": null, + "positionNumInt": 12 + }, + { + "personId": "08db509d-4873-478f-8b02-e100f12a3425", + "profileId": "08db509d-4870-4a52-80da-802f0e28fc52", + "organizationPositionId": "3a5def95-6413-49a3-bed1-c9812777bee8", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพิทักษ์ระบบคุณธรรม", + "name": "นายธศ สน", + "positionNum": "กพค.13", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-10-3-9", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5d69fed6-0961-4c79-af3c-094a21bdde82", + "children": null, + "positionNumInt": 13 + }, + { + "personId": "08db509d-4881-40b9-83ee-0075e214da3e", + "profileId": "08db509d-487e-4c74-8c77-2c0c5a807f5b", + "organizationPositionId": "e78a01be-ed4c-4fdf-a032-58ddc2378d9f", + "positionMasterId": "d9d4d2c3-288d-4c46-a7f8-e69f5e6cf31d", + "positionUserNote": "", + "avatar": "https://cdn.quasar.dev/img/boy-avatar.png", + "organizationCode": null, + "organizationName": "กลุ่มงานพิทักษ์ระบบคุณธรรม", + "name": "นางสาวธว อพ", + "positionNum": "กพค.14", + "positionName": "นิติกร", + "executivePosition": "", + "positionType": "บริหาร", + "positionLevel": "ชำนาญการ", + "positionLeaderFlag": false, + "keyId": "1-10-3-10", + "header": "person", + "lazy": false, + "enabled": true, + "organizationId": "5d69fed6-0961-4c79-af3c-094a21bdde82", + "children": null, + "positionNumInt": 14 + } + ], + "positionNumInt": 999 + } + ], + "positionNumInt": 999 + } + ] +} \ No newline at end of file diff --git a/src/components/CustomDialog.vue b/src/components/CustomDialog.vue new file mode 100644 index 000000000..7db464197 --- /dev/null +++ b/src/components/CustomDialog.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/components/DialogHeader.vue b/src/components/DialogHeader.vue new file mode 100644 index 000000000..6c2ade785 --- /dev/null +++ b/src/components/DialogHeader.vue @@ -0,0 +1,27 @@ + + diff --git a/src/components/DropDownNoResultMsg.vue b/src/components/DropDownNoResultMsg.vue new file mode 100644 index 000000000..ef9fbc5fd --- /dev/null +++ b/src/components/DropDownNoResultMsg.vue @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/src/components/Selector.vue b/src/components/Selector.vue new file mode 100644 index 000000000..a9c445fe2 --- /dev/null +++ b/src/components/Selector.vue @@ -0,0 +1,15 @@ + + diff --git a/src/components/TableHistory.vue b/src/components/TableHistory.vue new file mode 100644 index 000000000..a0e41ab8f --- /dev/null +++ b/src/components/TableHistory.vue @@ -0,0 +1,204 @@ + + + diff --git a/src/components/TableView.vue b/src/components/TableView.vue new file mode 100644 index 000000000..e2959de9f --- /dev/null +++ b/src/components/TableView.vue @@ -0,0 +1,541 @@ + + + diff --git a/src/components/TableView1.vue b/src/components/TableView1.vue new file mode 100644 index 000000000..d8b43c619 --- /dev/null +++ b/src/components/TableView1.vue @@ -0,0 +1,412 @@ + + + diff --git a/src/components/ViewPDF.vue b/src/components/ViewPDF.vue new file mode 100644 index 000000000..e69de29bb diff --git a/src/components/__tests__/HelloWorld.spec.ts b/src/components/__tests__/HelloWorld.spec.ts new file mode 100644 index 000000000..ccc7c3b76 --- /dev/null +++ b/src/components/__tests__/HelloWorld.spec.ts @@ -0,0 +1,11 @@ +import { describe, it, expect } from "vitest"; + +import { mount } from "@vue/test-utils"; +// import HelloWorld from '../HelloWorld.vue' + +describe("HelloWorld", () => { + it("renders properly", () => { + // const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) + // expect(wrapper.text()).toContain('Hello Vitest') + }); +}); diff --git a/src/components/icons/IconCommunity.vue b/src/components/icons/IconCommunity.vue new file mode 100644 index 000000000..2dc8b0552 --- /dev/null +++ b/src/components/icons/IconCommunity.vue @@ -0,0 +1,7 @@ + diff --git a/src/components/icons/IconDocumentation.vue b/src/components/icons/IconDocumentation.vue new file mode 100644 index 000000000..6d4791cfb --- /dev/null +++ b/src/components/icons/IconDocumentation.vue @@ -0,0 +1,7 @@ + diff --git a/src/components/icons/IconEcosystem.vue b/src/components/icons/IconEcosystem.vue new file mode 100644 index 000000000..c3a4f078c --- /dev/null +++ b/src/components/icons/IconEcosystem.vue @@ -0,0 +1,7 @@ + diff --git a/src/components/icons/IconSupport.vue b/src/components/icons/IconSupport.vue new file mode 100644 index 000000000..7452834d3 --- /dev/null +++ b/src/components/icons/IconSupport.vue @@ -0,0 +1,7 @@ + diff --git a/src/components/icons/IconTooling.vue b/src/components/icons/IconTooling.vue new file mode 100644 index 000000000..660598d7c --- /dev/null +++ b/src/components/icons/IconTooling.vue @@ -0,0 +1,19 @@ + + diff --git a/src/global/user_response_msg.ts b/src/global/user_response_msg.ts new file mode 100644 index 000000000..016a626f3 --- /dev/null +++ b/src/global/user_response_msg.ts @@ -0,0 +1,41 @@ +/** + * GLOABL Response Message for User + * + */ +import { useQuasar } from "quasar"; +import { useCounterMixin } from "@/stores/mixin"; + +// const $q = useQuasar(); // show dialog Error:runtime-core.esm-bundler.js:40 [Vue warn]: inject() can only be used inside setup() or functional components. +const mixin = useCounterMixin(); +const { success, modalConfirm, modalError, modalDelete } = mixin; + +/** + * + * @param catchE throw catch error message (e) + * @param q $q quasar dialog + * @returns no values return only pop-up dialog message for user + */ +const manageApiErrorMsg = (catchE: any, q: any) => { + // console.log(catchE); + // console.log(catchE.response); + // console.log(catchE.response.status); + // if (!catchE || !catchE.response || !catchE.response.data) { + // console.error("Invalid error object:", catchE); + // return; + // } + if (catchE.response.status == 401 || catchE.response.data.status == 401) { + modalError(q, "พบข้อผิดพลาด", "กรุณาล็อกอินใหม่อีกครั้ง"); //invalid_token + } else if ( + catchE.response.data.status == 400 || + catchE.response.data.status == 403 || + catchE.response.data.status == 404 + ) { + //ใส่เป็น error กลางๆ ถ้ามีเคสให้เห็นมากขึ้น ถึงจะแยกข้อความได้ + modalError(q, "พบข้อผิดพลาด", "ไม่พบข้อมูล"); + } else { + modalError(q, "พบข้อผิดพลาด", catchE.response.data.message); + } + return; +}; + +export default manageApiErrorMsg; diff --git a/src/hooks/filters.ts b/src/hooks/filters.ts new file mode 100644 index 000000000..d5f1d75f8 --- /dev/null +++ b/src/hooks/filters.ts @@ -0,0 +1,22 @@ +/** + * GLOABL Filters + * - ไฟล์นี้จะไว้เก็บฟังก์ชันง่าย ๆ พวก Helper Functions ทั้งหลาย + */ + + +const filters = { + + /** + * ฟังก์ชัน compactNumber ใช้แปลงตัวเลขยาว ๆ ให้กลายเป็นเลขสั้น ๆ แบบที่พวก Social Media ชอบใช้กัน เช่น 1,000 แปลงเป็น 1K หรือ 1,000,000 แปลงเป็น 1M + * วิธีใช้ : {{ $filters.compactNumber(value) }} + * + * @param val รับค่าพารามิเตอร์เป็นตัวแปรชนิดตัวเลข + * @returns คืนค่าเป็นตัวเลขที่แปลงค่าแล้ว + */ + compactNumber (val: number) { + const formatter = Intl.NumberFormat('en', { notation: 'compact'}) + return formatter.format(val) + } +} + +export default filters; \ No newline at end of file diff --git a/src/hooks/share.ts b/src/hooks/share.ts new file mode 100644 index 000000000..c47840fbe --- /dev/null +++ b/src/hooks/share.ts @@ -0,0 +1,314 @@ +/** + * ฟังก์ชันกลาง + */ + +function date2Thai(srcDate: Date, isFullMonth = false, isTime = false) { + if (srcDate == null) { + return ""; + } + const date = new Date(srcDate); + const isValidDate = Boolean(+date); + if (!isValidDate) return srcDate.toString(); + if (isValidDate && date.getFullYear() < 1000) return srcDate.toString(); + const fullMonthThai = [ + "มกราคม", + "กุมภาพันธ์", + "มีนาคม", + "เมษายน", + "พฤษภาคม", + "มิถุนายน", + "กรกฎาคม", + "สิงหาคม", + "กันยายน", + "ตุลาคม", + "พฤศจิกายน", + "ธันวาคม", + ]; + const abbrMonthThai = [ + "ม.ค.", + "ก.พ.", + "มี.ค.", + "เม.ย.", + "พ.ค.", + "มิ.ย.", + "ก.ค.", + "ส.ค.", + "ก.ย.", + "ต.ค.", + "พ.ย.", + "ธ.ค.", + ]; + let dstYear = 0; + if (date.getFullYear() > 2500) { + dstYear = date.getFullYear(); + } else { + dstYear = date.getFullYear() + 543; + } + let dstMonth = ""; + if (isFullMonth) { + dstMonth = fullMonthThai[date.getMonth()]; + } else { + dstMonth = abbrMonthThai[date.getMonth()]; + } + let dstTime = ""; + if (isTime) { + const H = + date.getHours().toString().length === 1 + ? "0" + date.getHours() + : date.getHours(); + const M = + date.getMinutes().toString().length === 1 + ? "0" + date.getMinutes() + : date.getMinutes(); + // const S = date.getSeconds().toString().length === 1 ? "0" + date.getSeconds() : date.getSeconds() + // dstTime = " " + H + ":" + M + ":" + S + " น." + dstTime = " " + H + ":" + M + " น."; + } + return date.getDate() + " " + dstMonth + " " + dstYear + dstTime; +} + +function dateMonth2Thai(srcDate: Date, isFullMonth = false, isTime = false) { + if (!srcDate) return srcDate; + const date = new Date(srcDate); + const isValidDate = Boolean(+date); + if (!isValidDate) return srcDate; + if (isValidDate && date.getFullYear() < 1000) return srcDate; + const fullMonthThai = [ + "มกราคม", + "กุมภาพันธ์", + "มีนาคม", + "เมษายน", + "พฤษภาคม", + "มิถุนายน", + "กรกฎาคม", + "สิงหาคม", + "กันยายน", + "ตุลาคม", + "พฤศจิกายน", + "ธันวาคม", + ]; + const abbrMonthThai = [ + "ม.ค.", + "ก.พ.", + "มี.ค.", + "เม.ย.", + "พ.ค.", + "มิ.ย.", + "ก.ค.", + "ส.ค.", + "ก.ย.", + "ต.ค.", + "พ.ย.", + "ธ.ค.", + ]; + let dstYear = 0; + if (date.getFullYear() > 2500) { + dstYear = date.getFullYear(); + } else { + dstYear = date.getFullYear() + 543; + } + let dstMonth = ""; + if (isFullMonth) { + dstMonth = fullMonthThai[date.getMonth()]; + } else { + dstMonth = abbrMonthThai[date.getMonth()]; + } + let dstTime = ""; + if (isTime) { + const H = + date.getHours().toString().length === 1 + ? "0" + date.getHours() + : date.getHours(); + const M = + date.getMinutes().toString().length === 1 + ? "0" + date.getMinutes() + : date.getMinutes(); + // const S = date.getSeconds().toString().length === 1 ? "0" + date.getSeconds() : date.getSeconds() + // dstTime = " " + H + ":" + M + ":" + S + " น." + dstTime = " " + H + ":" + M + " น."; + } + return date.getDate() + " " + dstMonth; +} + +function monthYear2Thai(month: number, year: number, isFullMonth = false) { + const date = new Date(`${year}-${month + 1}-1`); + const fullMonthThai = [ + "มกราคม", + "กุมภาพันธ์", + "มีนาคม", + "เมษายน", + "พฤษภาคม", + "มิถุนายน", + "กรกฎาคม", + "สิงหาคม", + "กันยายน", + "ตุลาคม", + "พฤศจิกายน", + "ธันวาคม", + ]; + const abbrMonthThai = [ + "ม.ค.", + "ก.พ.", + "มี.ค.", + "เม.ย.", + "พ.ค.", + "มิ.ย.", + "ก.ค.", + "ส.ค.", + "ก.ย.", + "ต.ค.", + "พ.ย.", + "ธ.ค.", + ]; + let dstYear = 0; + if (date.getFullYear() > 2500) { + dstYear = date.getFullYear(); + } else { + dstYear = date.getFullYear() + 543; + } + let dstMonth = ""; + if (isFullMonth) { + dstMonth = fullMonthThai[date.getMonth()]; + } else { + dstMonth = abbrMonthThai[date.getMonth()]; + } + return dstMonth + " " + dstYear; +} + +function dateToISO(date: Date) { + return ( + date.getFullYear() + + "-" + + appendLeadingZeroes(date.getMonth() + 1) + + "-" + + appendLeadingZeroes(date.getDate()) + ); +} + +function appendLeadingZeroes(n: Number) { + if (n <= 9) return "0" + n; + return n; +} + +const success = (q: any, val: string) => { + // useQuasar ไม่สามารถใช้นอกไฟล์ .vue + if (val !== "") { + return q.notify({ + message: val, + color: "primary", + icon: "mdi-information", + position: "bottom-right", + multiLine: true, + timeout: 1000, + badgeColor: "positive", + classes: "my-notif-class", + }); + } +}; + +function notify(q: any, val: string) { + if (val !== "") { + q.notify({ + color: "teal-10", + message: val, + icon: "mdi-information", + position: "bottom-right", + multiLine: true, + timeout: 7000, + actions: [{ label: "ปิด", color: "white", handler: () => {} }], + }); + } +} +function notifyError(q: any, val: string) { + if (val !== "") { + q.notify({ + color: "negative", + message: val, + icon: "mdi-alert-circle", + position: "top", + multiLine: true, + timeout: 12000, + actions: [{ label: "ปิด", color: "white", handler: () => {} }], + }); + } +} + +const dateText = (val: Date) => { + if (val != null) { + return date2Thai(val); + } else { + return "-"; + } +}; + +const weekThai = (val: Number) => { + switch (val) { + case 0: + return "วันอาทิตย์"; + case 1: + return "วันจันทร์"; + case 2: + return "วันอังคาร"; + case 3: + return "วันพุธ"; + case 4: + return "วันพฤหัสบดี"; + case 5: + return "วันศุกร์"; + case 6: + return "วันเสาร์"; + default: + return "-"; + } +}; + +const genColor15 = (val: number) => { + val = val % 15; + switch (val) { + case 1: + return "pink"; + case 2: + return "purple"; + case 3: + return "deep-purple"; + case 4: + return "indigo"; + case 5: + return "blue"; + case 6: + return "light-blue"; + case 7: + return "cyan"; + case 8: + return "teal"; + case 9: + return "green"; + case 10: + return "light-green"; + case 11: + return "amber"; + case 12: + return "orange"; + case 13: + return "deep-orange"; + case 14: + return "brown"; + case 0: + return "blue-grey"; + default: + return null; + } +}; + +export default { + date2Thai, + dateToISO, + notify, + notifyError, + dateText, + monthYear2Thai, + dateMonth2Thai, + success, + weekThai, + genColor15, +}; diff --git a/src/interface/request/main/main.ts b/src/interface/request/main/main.ts new file mode 100644 index 000000000..5cb508908 --- /dev/null +++ b/src/interface/request/main/main.ts @@ -0,0 +1,281 @@ +import { readonly } from "vue"; +interface ScrollType { + position: number; + direction: string; + directionChanged: boolean; + inflectionPoint: number; + delta: number; +} + +interface tabType { + key: number; + label: string; + tag: string; +} +interface childrenType { + key: number; + label: string; + path?: string; +} + +interface menuType { + key: number; + icon: string; + activeIcon: string; + label: string; + path: string; + children?: childrenType[]; +} + +interface notiType { + id: number; + sender: string; + body: string; + timereceive: string; +} + +interface optionType { + icon: string; + label: string; + value: string; + color: string; +} + +const menuList = readonly([ + { + key: 1, + icon: "mdi-home-variant-outline", + activeIcon: "mdi-home-variant", + label: "หน้าแรก", + path: "dashboard", + role: "dashboard", + }, + { + key: 2, + icon: "o_person", + activeIcon: "person", + label: "ข้อมูลหลัก", + path: "metadata", + role: "metadata", + }, + { + key: 3, + icon: "o_groups", + activeIcon: "groups", + label: "โครงสร้างอัตรากำลัง", + path: "organizational", + role: "organization", + children: [ + { + key: 3.1, + label: "จัดการตำแหน่ง", + path: "organizationalMapping", + }, + { + key: 3.2, + label: "แผนภูมิโครงสร้าง", + path: "organizationalStructChart", + }, + { + key: 3.3, + label: "แผนภูมิองค์กร", + path: "organizationalOrgChart", + }, + { + key: 3.4, + label: "ผังโครงสร้าง", + path: "organizationalTree", + }, + { + key: 3.5, + label: "จัดการบัญชี 2", + path: "manageReport2", + }, + { + key: 3.6, + label: "รายงานบัญชี", + path: "organizationalReport", + }, + ], + }, + { + key: 4, + icon: "o_contact_page", + activeIcon: "contact_page", + label: "ทะเบียนประวัติ", + path: "registry", + role: "registry", + }, + { + key: 5, + icon: "o_search", + activeIcon: "search", + label: "สรรหา", + path: "recruiting", + role: "recruit", + children: [ + { + label: "ตั้งค่าเว็บสรรหา", + path: "editorweb", + key: 5.1, + role: "recruit", + }, + { + label: "สอบแข่งขัน", + path: "", + key: 5.2, + role: "recruit", + children: [ + { + label: "จัดการข้อมูลผู้สมัครสอบ" /* แข่งขัน */, + path: "competePeriod", + role: "recruit", + }, + { + label: "ข้อมูลสถิติการสมัครสอบ" /* แข่งขัน */, + path: "competePeriodStat", + role: "recruit", + }, + ], + }, + { + label: "คัดเลือก", + path: "", + key: 5.3, + role: "recruit", + children: [ + { + label: "จัดการรอบคัดเลือก", + path: "qualifyPeriod", + role: "recruit", + }, + { + label: "จัดการรอบคัดเลือกคนพิการ", + path: "disablePeriod", + role: "recruit", + }, + { + label: "จัดการรายชื่อคัดเลือก", + path: "manage", + role: "recruit", + }, + { + label: "สถิติสมัครคัดเลือก", + path: "qualifyPeriodStat", + role: "recruit", + }, + { + label: "สถิติสมัครคัดเลือกคนพิการ", + path: "qualifyPeriodStatDisable", + role: "recruit", + }, + ], + }, + ], + }, + { + key: 6, + icon: "mdi-home-variant-outline", + activeIcon: "mdi-home-variant", + label: "บรรจุ แต่งตั้ง ย้าย โอน", + path: "placement", + role: "placement", + }, + { + key: 7, + icon: "mdi-home-variant-outline", + activeIcon: "mdi-home-variant", + label: "พ้นจากราชการ", + path: "retirement", + role: "retirement", + }, + { + key: 8, + icon: "mdi-home-variant-outline", + activeIcon: "mdi-home-variant", + label: "เครื่องราชอิสริยาภรณ์", + path: "insignia", + role: "insignia", + }, +]); + +const tabList = readonly([ + { + key: 1, + label: "ข้อมูลทั่วไป", + tag: "information", + }, + { + key: 15, + label: "ใบอนุญาตประกอบอาชีพ", + tag: "certicate", + }, + { + key: 2, + label: "ประวัติการศึกษา", + tag: "education", + }, + { + key: 3, + label: "การฝึกอบรม/ดูงาน", + tag: "training", + }, + { + key: 4, + label: "เครื่องราชอิสริยาภรณ์", + tag: "insignia", + }, + { + key: 5, + label: "ประกาศเกียรติคุณ", + tag: "coined", + }, + { + key: 6, + label: "ผลการประเมินปฏิบัติราชการ", + tag: "assessment", + }, + { + key: 7, + label: "ตำแหน่ง/เงินเดือน", + tag: "position", + }, + { + key: 8, + label: "วินัย", + tag: "rule", + }, + { + key: 9, + label: "การลา", + tag: "leave", + }, + { + key: 10, + label: "ความสามารถพิเศษ", + tag: "talent", + }, + { + key: 11, + label: "ปฎิบัติราชการพิเศษ", + tag: "work", + }, + { + key: 12, + label: "บันทึกวันที่ไม่ได้รับเงินเดือนฯ", + tag: "record", + }, + { + key: 13, + label: "อื่นๆ", + tag: "other", + }, + { + key: 14, + label: "เอกสารหลักฐาน", + tag: "document", + }, +]); + +export { menuList, tabList }; +export type { ScrollType, tabType, menuType, notiType, optionType }; diff --git a/src/interface/request/manage/prefix.ts b/src/interface/request/manage/prefix.ts new file mode 100644 index 000000000..26fa74e2e --- /dev/null +++ b/src/interface/request/manage/prefix.ts @@ -0,0 +1,46 @@ +//response api เกี่ยวกับ status code กับ error +interface RequestHistoryObject { + message: String; + result: ResultHistoryObject; + status: number; +} + +//rusult แนบ id version mongo +interface ResultHistoryObject { + id: String; + items: RequestPrefixHistoryObject; + version: String; +} + +//ข้อมูล คำนำหน้า +interface RequestPrefixHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +//columns +interface PrefixColumns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestHistoryObject, + ResultHistoryObject, + RequestPrefixHistoryObject, + PrefixColumns, +}; diff --git a/src/interface/response/manage/prefix.ts b/src/interface/response/manage/prefix.ts new file mode 100644 index 000000000..ac28ca790 --- /dev/null +++ b/src/interface/response/manage/prefix.ts @@ -0,0 +1,14 @@ +//ข้อมูล คำนำหน้า +interface ResponsePrefixHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponsePrefixHistoryObject }; diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 000000000..75fead11e --- /dev/null +++ b/src/main.ts @@ -0,0 +1,71 @@ +import { createApp, defineAsyncComponent } from "vue"; +import App from "./App.vue"; +import router from "./router"; +import { Dialog, Notify, Quasar } from "quasar"; +import quasarUserOptions from "./quasar-user-options"; + +import "quasar/src/css/index.sass"; +import th from "quasar/lang/th"; + +import "@vuepic/vue-datepicker/dist/main.css"; +import http from "./plugins/http"; +import { createPinia } from "pinia"; +// organization +// position +// positionEmployee +//calendar +// insignia + +// import './assets/main.css' + +// Import GlobalFilters +import filters from "./hooks/filters"; + +const app = createApp(App); +const pinia = createPinia(); + +// เพิ่ม Global Filters ลงใน App +app.config.globalProperties.$filters = filters; + +app.use(router); +app.use(pinia); + +app.use( + Quasar, + { + plugins: { + Notify, + Dialog, + }, // import Quasar plugins and add here + config: { + notify: { + /* look at QuasarConfOptions from the API card */ + }, + }, + lang: th, + } + // quasarUserOptions // build ไม่ผ่านหลัง install code org&structure chart เลยต้องคอมเม้นไว้ก่อน เทสแล้วยังรันได้หลังคอมเม้น +); + +//** Global Components */ +app.component( + "data-table", + defineAsyncComponent(() => import("./components/TableView.vue")) +); +app.component( + "datepicker", + defineAsyncComponent(() => import("@vuepic/vue-datepicker")) +); +app.component( + "full-loader", + defineAsyncComponent(() => import("./plugins/FullLoader.vue")) +); + +app.component( + "selector", + defineAsyncComponent(() => import("./components/Selector.vue")) +); + +app.config.globalProperties.$http = http; + +app.mount("#app"); diff --git a/src/modules/01_metadata/components/Calendar.vue b/src/modules/01_metadata/components/Calendar.vue new file mode 100644 index 000000000..27fd54cee --- /dev/null +++ b/src/modules/01_metadata/components/Calendar.vue @@ -0,0 +1,859 @@ + + + + + + diff --git a/src/modules/01_metadata/components/CalendarList.vue b/src/modules/01_metadata/components/CalendarList.vue new file mode 100644 index 000000000..b131139af --- /dev/null +++ b/src/modules/01_metadata/components/CalendarList.vue @@ -0,0 +1,580 @@ + + + + + diff --git a/src/modules/01_metadata/components/TableHistory.vue b/src/modules/01_metadata/components/TableHistory.vue new file mode 100644 index 000000000..88b6f3107 --- /dev/null +++ b/src/modules/01_metadata/components/TableHistory.vue @@ -0,0 +1,198 @@ + + + diff --git a/src/modules/01_metadata/components/insignia/Insignia.vue b/src/modules/01_metadata/components/insignia/Insignia.vue new file mode 100644 index 000000000..01420283f --- /dev/null +++ b/src/modules/01_metadata/components/insignia/Insignia.vue @@ -0,0 +1,966 @@ + + + + + diff --git a/src/modules/01_metadata/components/insignia/InsigniaType.vue b/src/modules/01_metadata/components/insignia/InsigniaType.vue new file mode 100644 index 000000000..856b9870f --- /dev/null +++ b/src/modules/01_metadata/components/insignia/InsigniaType.vue @@ -0,0 +1,659 @@ + + + + + diff --git a/src/modules/01_metadata/components/organization/Agency.vue b/src/modules/01_metadata/components/organization/Agency.vue new file mode 100644 index 000000000..6f0c3c73e --- /dev/null +++ b/src/modules/01_metadata/components/organization/Agency.vue @@ -0,0 +1,660 @@ + + + + + + diff --git a/src/modules/01_metadata/components/organization/Fax.vue b/src/modules/01_metadata/components/organization/Fax.vue new file mode 100644 index 000000000..8e746a11e --- /dev/null +++ b/src/modules/01_metadata/components/organization/Fax.vue @@ -0,0 +1,659 @@ + + + + + + diff --git a/src/modules/01_metadata/components/organization/GovernmentAgency.vue b/src/modules/01_metadata/components/organization/GovernmentAgency.vue new file mode 100644 index 000000000..dc1a697da --- /dev/null +++ b/src/modules/01_metadata/components/organization/GovernmentAgency.vue @@ -0,0 +1,661 @@ + + + + + + diff --git a/src/modules/01_metadata/components/organization/Level.vue b/src/modules/01_metadata/components/organization/Level.vue new file mode 100644 index 000000000..368ff4ae6 --- /dev/null +++ b/src/modules/01_metadata/components/organization/Level.vue @@ -0,0 +1,659 @@ + + + + + + diff --git a/src/modules/01_metadata/components/organization/Organization.vue b/src/modules/01_metadata/components/organization/Organization.vue new file mode 100644 index 000000000..3fd2eb260 --- /dev/null +++ b/src/modules/01_metadata/components/organization/Organization.vue @@ -0,0 +1,698 @@ + + + + + + diff --git a/src/modules/01_metadata/components/organization/ShortName.vue b/src/modules/01_metadata/components/organization/ShortName.vue new file mode 100644 index 000000000..355769bfb --- /dev/null +++ b/src/modules/01_metadata/components/organization/ShortName.vue @@ -0,0 +1,815 @@ + + + + + + diff --git a/src/modules/01_metadata/components/organization/Status.vue b/src/modules/01_metadata/components/organization/Status.vue new file mode 100644 index 000000000..8c1adb00a --- /dev/null +++ b/src/modules/01_metadata/components/organization/Status.vue @@ -0,0 +1,659 @@ + + + + + + diff --git a/src/modules/01_metadata/components/organization/TelExternal.vue b/src/modules/01_metadata/components/organization/TelExternal.vue new file mode 100644 index 000000000..c30cfac60 --- /dev/null +++ b/src/modules/01_metadata/components/organization/TelExternal.vue @@ -0,0 +1,659 @@ + + + + + + diff --git a/src/modules/01_metadata/components/organization/TelInternal.vue b/src/modules/01_metadata/components/organization/TelInternal.vue new file mode 100644 index 000000000..6da9b58f2 --- /dev/null +++ b/src/modules/01_metadata/components/organization/TelInternal.vue @@ -0,0 +1,659 @@ + + + + + + diff --git a/src/modules/01_metadata/components/organization/Type.vue b/src/modules/01_metadata/components/organization/Type.vue new file mode 100644 index 000000000..b65a3818a --- /dev/null +++ b/src/modules/01_metadata/components/organization/Type.vue @@ -0,0 +1,659 @@ + + + + + + diff --git a/src/modules/01_metadata/components/person/Blood.vue b/src/modules/01_metadata/components/person/Blood.vue new file mode 100644 index 000000000..cb026329e --- /dev/null +++ b/src/modules/01_metadata/components/person/Blood.vue @@ -0,0 +1,663 @@ + + + + + + diff --git a/src/modules/01_metadata/components/person/District.vue b/src/modules/01_metadata/components/person/District.vue new file mode 100644 index 000000000..6c187fc8b --- /dev/null +++ b/src/modules/01_metadata/components/person/District.vue @@ -0,0 +1,715 @@ + + + + + + diff --git a/src/modules/01_metadata/components/person/Education.vue b/src/modules/01_metadata/components/person/Education.vue new file mode 100644 index 000000000..571452185 --- /dev/null +++ b/src/modules/01_metadata/components/person/Education.vue @@ -0,0 +1,660 @@ + + + + + + diff --git a/src/modules/01_metadata/components/person/Gender.vue b/src/modules/01_metadata/components/person/Gender.vue new file mode 100644 index 000000000..2e523269d --- /dev/null +++ b/src/modules/01_metadata/components/person/Gender.vue @@ -0,0 +1,660 @@ + + + + + + diff --git a/src/modules/01_metadata/components/person/Prefix.vue b/src/modules/01_metadata/components/person/Prefix.vue new file mode 100644 index 000000000..f67751438 --- /dev/null +++ b/src/modules/01_metadata/components/person/Prefix.vue @@ -0,0 +1,660 @@ + + + + + + diff --git a/src/modules/01_metadata/components/person/Province.vue b/src/modules/01_metadata/components/person/Province.vue new file mode 100644 index 000000000..2b753c3dc --- /dev/null +++ b/src/modules/01_metadata/components/person/Province.vue @@ -0,0 +1,679 @@ + + + + + + diff --git a/src/modules/01_metadata/components/person/Relationship.vue b/src/modules/01_metadata/components/person/Relationship.vue new file mode 100644 index 000000000..a13b3deea --- /dev/null +++ b/src/modules/01_metadata/components/person/Relationship.vue @@ -0,0 +1,660 @@ + + + + + + diff --git a/src/modules/01_metadata/components/person/Religion.vue b/src/modules/01_metadata/components/person/Religion.vue new file mode 100644 index 000000000..217552dcb --- /dev/null +++ b/src/modules/01_metadata/components/person/Religion.vue @@ -0,0 +1,660 @@ + + + + + + diff --git a/src/modules/01_metadata/components/person/SubDistrict.vue b/src/modules/01_metadata/components/person/SubDistrict.vue new file mode 100644 index 000000000..b321a3035 --- /dev/null +++ b/src/modules/01_metadata/components/person/SubDistrict.vue @@ -0,0 +1,769 @@ + + + + + + diff --git a/src/modules/01_metadata/components/position/Executive.vue b/src/modules/01_metadata/components/position/Executive.vue new file mode 100644 index 000000000..fb98d366f --- /dev/null +++ b/src/modules/01_metadata/components/position/Executive.vue @@ -0,0 +1,660 @@ + + + + + + diff --git a/src/modules/01_metadata/components/position/ExecutiveSide.vue b/src/modules/01_metadata/components/position/ExecutiveSide.vue new file mode 100644 index 000000000..ebe3709d4 --- /dev/null +++ b/src/modules/01_metadata/components/position/ExecutiveSide.vue @@ -0,0 +1,699 @@ + + + + + + diff --git a/src/modules/01_metadata/components/position/Level.vue b/src/modules/01_metadata/components/position/Level.vue new file mode 100644 index 000000000..c3638b88d --- /dev/null +++ b/src/modules/01_metadata/components/position/Level.vue @@ -0,0 +1,837 @@ + + + + + + diff --git a/src/modules/01_metadata/components/position/Line.vue b/src/modules/01_metadata/components/position/Line.vue new file mode 100644 index 000000000..25aa5fdfe --- /dev/null +++ b/src/modules/01_metadata/components/position/Line.vue @@ -0,0 +1,660 @@ + + + + + + diff --git a/src/modules/01_metadata/components/position/Path.vue b/src/modules/01_metadata/components/position/Path.vue new file mode 100644 index 000000000..7dab02415 --- /dev/null +++ b/src/modules/01_metadata/components/position/Path.vue @@ -0,0 +1,699 @@ + + + + + + diff --git a/src/modules/01_metadata/components/position/PathSide.vue b/src/modules/01_metadata/components/position/PathSide.vue new file mode 100644 index 000000000..a3ac3d150 --- /dev/null +++ b/src/modules/01_metadata/components/position/PathSide.vue @@ -0,0 +1,699 @@ + + + + + + diff --git a/src/modules/01_metadata/components/position/Status.vue b/src/modules/01_metadata/components/position/Status.vue new file mode 100644 index 000000000..506130d03 --- /dev/null +++ b/src/modules/01_metadata/components/position/Status.vue @@ -0,0 +1,660 @@ + + + + + + diff --git a/src/modules/01_metadata/components/position/Type.vue b/src/modules/01_metadata/components/position/Type.vue new file mode 100644 index 000000000..e22c1340c --- /dev/null +++ b/src/modules/01_metadata/components/position/Type.vue @@ -0,0 +1,660 @@ + + + + + + diff --git a/src/modules/01_metadata/components/positionEmployee/Group.vue b/src/modules/01_metadata/components/positionEmployee/Group.vue new file mode 100644 index 000000000..729f96bdb --- /dev/null +++ b/src/modules/01_metadata/components/positionEmployee/Group.vue @@ -0,0 +1,659 @@ + + + + + diff --git a/src/modules/01_metadata/components/positionEmployee/Level.vue b/src/modules/01_metadata/components/positionEmployee/Level.vue new file mode 100644 index 000000000..1dc16a377 --- /dev/null +++ b/src/modules/01_metadata/components/positionEmployee/Level.vue @@ -0,0 +1,658 @@ + + + + + diff --git a/src/modules/01_metadata/components/positionEmployee/Line.vue b/src/modules/01_metadata/components/positionEmployee/Line.vue new file mode 100644 index 000000000..9f9914462 --- /dev/null +++ b/src/modules/01_metadata/components/positionEmployee/Line.vue @@ -0,0 +1,659 @@ + + + + + diff --git a/src/modules/01_metadata/components/positionEmployee/Position.vue b/src/modules/01_metadata/components/positionEmployee/Position.vue new file mode 100644 index 000000000..626cc52f6 --- /dev/null +++ b/src/modules/01_metadata/components/positionEmployee/Position.vue @@ -0,0 +1,698 @@ + + + + + diff --git a/src/modules/01_metadata/components/positionEmployee/PositionSide.vue b/src/modules/01_metadata/components/positionEmployee/PositionSide.vue new file mode 100644 index 000000000..80f9e7dda --- /dev/null +++ b/src/modules/01_metadata/components/positionEmployee/PositionSide.vue @@ -0,0 +1,701 @@ + + + + + diff --git a/src/modules/01_metadata/components/positionEmployee/Status.vue b/src/modules/01_metadata/components/positionEmployee/Status.vue new file mode 100644 index 000000000..ca65c90e0 --- /dev/null +++ b/src/modules/01_metadata/components/positionEmployee/Status.vue @@ -0,0 +1,659 @@ + + + + + diff --git a/src/modules/01_metadata/interface/index/Main.ts b/src/modules/01_metadata/interface/index/Main.ts new file mode 100644 index 000000000..46133c9b9 --- /dev/null +++ b/src/modules/01_metadata/interface/index/Main.ts @@ -0,0 +1,10 @@ +interface Pagination { + rowsPerPage: number; +} + +interface DataOption { + id: string; + name: string; +} + +export type { Pagination, DataOption }; diff --git a/src/modules/01_metadata/interface/request/Calendar.ts b/src/modules/01_metadata/interface/request/Calendar.ts new file mode 100644 index 000000000..38deeda4f --- /dev/null +++ b/src/modules/01_metadata/interface/request/Calendar.ts @@ -0,0 +1,77 @@ +interface DataNumObject { + id: number; + count: number; + name: string; + color: string; +} + +interface DataDateAddObject { + year: number; + holidayDate: Date | string; + name: string; + isSpecial: boolean; +} + +interface DataDateMonthObject { + month: number; + year: number; +} + +//ข้อมูล +interface RequestItemsObject { + createdAt?: Date; + createdFullName: string; + createdUserId: string; + holidayDate: Date | string; + id: string; + isSpecial: boolean; + lastUpdateFullName: string; + lastUpdateUserId: string; + lastUpdatedAt?: Date; + name: string; + originalDate: Date; +} + +interface DataDateRowObject { + holidayDate: Date; + name: string; + isSpecial: boolean; + id: string; +} + +interface DataDateListsObject { + id: string; + dateRange: [Date, Date]; + dataRangeRow: DataDateRowObject[]; + detail: string; + isSpecial: boolean; +} + +//columns +interface Columns { + [index: number]: { + name: string; + align?: string; + label: string; + sortable?: boolean; + field: string | ((row: any) => any); + headerStyle?: string; + style?: string; + }; +} + +interface TabsObject { + label: string; + value: string; +} + +export type { + DataNumObject, + DataDateAddObject, + DataDateMonthObject, + RequestItemsObject, + DataDateRowObject, + DataDateListsObject, + Columns, + TabsObject, +}; diff --git a/src/modules/01_metadata/interface/request/Main.ts b/src/modules/01_metadata/interface/request/Main.ts new file mode 100644 index 000000000..b5eb23bd3 --- /dev/null +++ b/src/modules/01_metadata/interface/request/Main.ts @@ -0,0 +1,14 @@ +interface DataSumCalendarObject { + id: number; + monthFull: String; + count: number; + color: String; +} + +interface DataListsObject { + id: number; + count: number; + name: string; +} + +export type { DataSumCalendarObject, DataListsObject }; diff --git a/src/modules/01_metadata/interface/request/insignia/Badge.ts b/src/modules/01_metadata/interface/request/insignia/Badge.ts new file mode 100644 index 000000000..2c7ee1f82 --- /dev/null +++ b/src/modules/01_metadata/interface/request/insignia/Badge.ts @@ -0,0 +1,39 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; + shortName: String; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/insignia/Insignia.ts b/src/modules/01_metadata/interface/request/insignia/Insignia.ts new file mode 100644 index 000000000..f334e28b0 --- /dev/null +++ b/src/modules/01_metadata/interface/request/insignia/Insignia.ts @@ -0,0 +1,42 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + level: number; + name: string; + shortName: String; + insigniaType?: any; + note: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/insignia/InsigniaType.ts b/src/modules/01_metadata/interface/request/insignia/InsigniaType.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/insignia/InsigniaType.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/organization/Agency.ts b/src/modules/01_metadata/interface/request/organization/Agency.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/organization/Agency.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/organization/Fax.ts b/src/modules/01_metadata/interface/request/organization/Fax.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/organization/Fax.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/organization/GovernmentAgency.ts b/src/modules/01_metadata/interface/request/organization/GovernmentAgency.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/organization/GovernmentAgency.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/organization/Level.ts b/src/modules/01_metadata/interface/request/organization/Level.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/organization/Level.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/organization/Organization.ts b/src/modules/01_metadata/interface/request/organization/Organization.ts new file mode 100644 index 000000000..bb0562207 --- /dev/null +++ b/src/modules/01_metadata/interface/request/organization/Organization.ts @@ -0,0 +1,39 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; + note: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/organization/ShortName.ts b/src/modules/01_metadata/interface/request/organization/ShortName.ts new file mode 100644 index 000000000..93e394c68 --- /dev/null +++ b/src/modules/01_metadata/interface/request/organization/ShortName.ts @@ -0,0 +1,41 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + agencyCode: String; + governmentCode: String; + name: string; + note: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/organization/Status.ts b/src/modules/01_metadata/interface/request/organization/Status.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/organization/Status.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/organization/TelExternal.ts b/src/modules/01_metadata/interface/request/organization/TelExternal.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/organization/TelExternal.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/organization/TelInternal.ts b/src/modules/01_metadata/interface/request/organization/TelInternal.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/organization/TelInternal.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/organization/Type.ts b/src/modules/01_metadata/interface/request/organization/Type.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/organization/Type.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/person/Blood.ts b/src/modules/01_metadata/interface/request/person/Blood.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/person/Blood.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/person/District.ts b/src/modules/01_metadata/interface/request/person/District.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/person/District.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/person/Education.ts b/src/modules/01_metadata/interface/request/person/Education.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/person/Education.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/person/Gender.ts b/src/modules/01_metadata/interface/request/person/Gender.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/person/Gender.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/person/Prefix.ts b/src/modules/01_metadata/interface/request/person/Prefix.ts new file mode 100644 index 000000000..65465a8a7 --- /dev/null +++ b/src/modules/01_metadata/interface/request/person/Prefix.ts @@ -0,0 +1,47 @@ +import type { StringifyOptions } from "querystring"; + +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +//ข้อมูลประวัติแก้ไข +interface ResponseHistoryObject { + createdFullName: String; + lastUpdateFullName: String; + name: String; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/person/Province.ts b/src/modules/01_metadata/interface/request/person/Province.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/person/Province.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/person/Relationship.ts b/src/modules/01_metadata/interface/request/person/Relationship.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/person/Relationship.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/person/Religion.ts b/src/modules/01_metadata/interface/request/person/Religion.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/person/Religion.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/person/SubDistrict.ts b/src/modules/01_metadata/interface/request/person/SubDistrict.ts new file mode 100644 index 000000000..4cf726a52 --- /dev/null +++ b/src/modules/01_metadata/interface/request/person/SubDistrict.ts @@ -0,0 +1,39 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; + zipCode: String; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/position/Executive.ts b/src/modules/01_metadata/interface/request/position/Executive.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/position/Executive.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/position/ExecutiveSide.ts b/src/modules/01_metadata/interface/request/position/ExecutiveSide.ts new file mode 100644 index 000000000..bb0562207 --- /dev/null +++ b/src/modules/01_metadata/interface/request/position/ExecutiveSide.ts @@ -0,0 +1,39 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; + note: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/position/Level.ts b/src/modules/01_metadata/interface/request/position/Level.ts new file mode 100644 index 000000000..9da888aad --- /dev/null +++ b/src/modules/01_metadata/interface/request/position/Level.ts @@ -0,0 +1,40 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + level: number; + name: string; + shortName: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/position/Line.ts b/src/modules/01_metadata/interface/request/position/Line.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/position/Line.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/position/Path.ts b/src/modules/01_metadata/interface/request/position/Path.ts new file mode 100644 index 000000000..bb0562207 --- /dev/null +++ b/src/modules/01_metadata/interface/request/position/Path.ts @@ -0,0 +1,39 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; + note: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/position/PathSide.ts b/src/modules/01_metadata/interface/request/position/PathSide.ts new file mode 100644 index 000000000..bb0562207 --- /dev/null +++ b/src/modules/01_metadata/interface/request/position/PathSide.ts @@ -0,0 +1,39 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; + note: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/position/Status.ts b/src/modules/01_metadata/interface/request/position/Status.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/position/Status.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/position/Type.ts b/src/modules/01_metadata/interface/request/position/Type.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/position/Type.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/positionEmployee/Group.ts b/src/modules/01_metadata/interface/request/positionEmployee/Group.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/positionEmployee/Group.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/positionEmployee/Level.ts b/src/modules/01_metadata/interface/request/positionEmployee/Level.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/positionEmployee/Level.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/positionEmployee/Line.ts b/src/modules/01_metadata/interface/request/positionEmployee/Line.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/positionEmployee/Line.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/positionEmployee/Position.ts b/src/modules/01_metadata/interface/request/positionEmployee/Position.ts new file mode 100644 index 000000000..bb0562207 --- /dev/null +++ b/src/modules/01_metadata/interface/request/positionEmployee/Position.ts @@ -0,0 +1,39 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; + note: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/positionEmployee/PositionSide.ts b/src/modules/01_metadata/interface/request/positionEmployee/PositionSide.ts new file mode 100644 index 000000000..bb0562207 --- /dev/null +++ b/src/modules/01_metadata/interface/request/positionEmployee/PositionSide.ts @@ -0,0 +1,39 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; + note: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/request/positionEmployee/Status.ts b/src/modules/01_metadata/interface/request/positionEmployee/Status.ts new file mode 100644 index 000000000..6cb8bc59a --- /dev/null +++ b/src/modules/01_metadata/interface/request/positionEmployee/Status.ts @@ -0,0 +1,38 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsHistoryObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsHistoryObject, + RequestItemsPublishHistoryObject, + Columns, +}; diff --git a/src/modules/01_metadata/interface/response/insignia/Insignia.ts b/src/modules/01_metadata/interface/response/insignia/Insignia.ts new file mode 100644 index 000000000..6fb21a2ca --- /dev/null +++ b/src/modules/01_metadata/interface/response/insignia/Insignia.ts @@ -0,0 +1,18 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + level: number; + name: String; + shortName: String; + insigniaType?: any; + note: string; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/insignia/InsigniaType.ts b/src/modules/01_metadata/interface/response/insignia/InsigniaType.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/insignia/InsigniaType.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/organization/Agency.ts b/src/modules/01_metadata/interface/response/organization/Agency.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/organization/Agency.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/organization/Fax.ts b/src/modules/01_metadata/interface/response/organization/Fax.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/organization/Fax.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/organization/GovernmentAgency.ts b/src/modules/01_metadata/interface/response/organization/GovernmentAgency.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/organization/GovernmentAgency.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/organization/Level.ts b/src/modules/01_metadata/interface/response/organization/Level.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/organization/Level.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/organization/Organization.ts b/src/modules/01_metadata/interface/response/organization/Organization.ts new file mode 100644 index 000000000..ed77a8aba --- /dev/null +++ b/src/modules/01_metadata/interface/response/organization/Organization.ts @@ -0,0 +1,15 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; + note: string; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/organization/ShortName.ts b/src/modules/01_metadata/interface/response/organization/ShortName.ts new file mode 100644 index 000000000..89e6f98bd --- /dev/null +++ b/src/modules/01_metadata/interface/response/organization/ShortName.ts @@ -0,0 +1,17 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + agencyCode: String; + governmentCode: String; + name: String; + note: string; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/organization/Status.ts b/src/modules/01_metadata/interface/response/organization/Status.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/organization/Status.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/organization/TelExternal.ts b/src/modules/01_metadata/interface/response/organization/TelExternal.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/organization/TelExternal.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/organization/TelInternal.ts b/src/modules/01_metadata/interface/response/organization/TelInternal.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/organization/TelInternal.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/organization/Type.ts b/src/modules/01_metadata/interface/response/organization/Type.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/organization/Type.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/person/Blood.ts b/src/modules/01_metadata/interface/response/person/Blood.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/person/Blood.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/person/District.ts b/src/modules/01_metadata/interface/response/person/District.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/person/District.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/person/Education.ts b/src/modules/01_metadata/interface/response/person/Education.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/person/Education.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/person/Gender.ts b/src/modules/01_metadata/interface/response/person/Gender.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/person/Gender.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/person/Prefix.ts b/src/modules/01_metadata/interface/response/person/Prefix.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/person/Prefix.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/person/Province.ts b/src/modules/01_metadata/interface/response/person/Province.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/person/Province.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/person/Relationship.ts b/src/modules/01_metadata/interface/response/person/Relationship.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/person/Relationship.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/person/Religion.ts b/src/modules/01_metadata/interface/response/person/Religion.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/person/Religion.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/person/SubDistrict.ts b/src/modules/01_metadata/interface/response/person/SubDistrict.ts new file mode 100644 index 000000000..ca293df03 --- /dev/null +++ b/src/modules/01_metadata/interface/response/person/SubDistrict.ts @@ -0,0 +1,15 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; + zipCode: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/position/Executive.ts b/src/modules/01_metadata/interface/response/position/Executive.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/position/Executive.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/position/ExecutiveSide.ts b/src/modules/01_metadata/interface/response/position/ExecutiveSide.ts new file mode 100644 index 000000000..ed77a8aba --- /dev/null +++ b/src/modules/01_metadata/interface/response/position/ExecutiveSide.ts @@ -0,0 +1,15 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; + note: string; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/position/Level.ts b/src/modules/01_metadata/interface/response/position/Level.ts new file mode 100644 index 000000000..caae21021 --- /dev/null +++ b/src/modules/01_metadata/interface/response/position/Level.ts @@ -0,0 +1,16 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + level: number; + name: String; + shortName: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/position/Line.ts b/src/modules/01_metadata/interface/response/position/Line.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/position/Line.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/position/Path.ts b/src/modules/01_metadata/interface/response/position/Path.ts new file mode 100644 index 000000000..ed77a8aba --- /dev/null +++ b/src/modules/01_metadata/interface/response/position/Path.ts @@ -0,0 +1,15 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; + note: string; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/position/PathSide.ts b/src/modules/01_metadata/interface/response/position/PathSide.ts new file mode 100644 index 000000000..ed77a8aba --- /dev/null +++ b/src/modules/01_metadata/interface/response/position/PathSide.ts @@ -0,0 +1,15 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; + note: string; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/position/Status.ts b/src/modules/01_metadata/interface/response/position/Status.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/position/Status.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/position/Type.ts b/src/modules/01_metadata/interface/response/position/Type.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/position/Type.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/positionEmployee/Group.ts b/src/modules/01_metadata/interface/response/positionEmployee/Group.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/positionEmployee/Group.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/positionEmployee/Level.ts b/src/modules/01_metadata/interface/response/positionEmployee/Level.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/positionEmployee/Level.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/positionEmployee/Line.ts b/src/modules/01_metadata/interface/response/positionEmployee/Line.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/positionEmployee/Line.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/positionEmployee/Position.ts b/src/modules/01_metadata/interface/response/positionEmployee/Position.ts new file mode 100644 index 000000000..ed77a8aba --- /dev/null +++ b/src/modules/01_metadata/interface/response/positionEmployee/Position.ts @@ -0,0 +1,15 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; + note: string; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/positionEmployee/PositionSide.ts b/src/modules/01_metadata/interface/response/positionEmployee/PositionSide.ts new file mode 100644 index 000000000..ed77a8aba --- /dev/null +++ b/src/modules/01_metadata/interface/response/positionEmployee/PositionSide.ts @@ -0,0 +1,15 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; + note: string; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/interface/response/positionEmployee/Status.ts b/src/modules/01_metadata/interface/response/positionEmployee/Status.ts new file mode 100644 index 000000000..a6fa6a978 --- /dev/null +++ b/src/modules/01_metadata/interface/response/positionEmployee/Status.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + name: String; +} + +export type { ResponseHistoryObject }; diff --git a/src/modules/01_metadata/router.ts b/src/modules/01_metadata/router.ts new file mode 100644 index 000000000..470768285 --- /dev/null +++ b/src/modules/01_metadata/router.ts @@ -0,0 +1,42 @@ +/** + * Router ระบบข้อมูลหลัก (Metadata) + */ + +const Main = () => import("@/modules/01_metadata/views/Main.vue"); +const ManageDistrict = () => + import("@/modules/01_metadata/components/person/District.vue"); +const ManageSubDistrict = () => + import("@/modules/01_metadata/components/person/SubDistrict.vue"); + +export default [ + { + path: "/metadata", + name: "metadata", + component: Main, + meta: { + Auth: true, + Key: [7], + Role: "metadata", + }, + }, + { + path: "/metadata/province/:province", + name: "manageDistrict", + component: ManageDistrict, + meta: { + Auth: true, + Key: [7], + Role: "metadata", + }, + }, + { + path: "/metadata/province/:province/:district", + name: "manageSubDistrict", + component: ManageSubDistrict, + meta: { + Auth: true, + Key: [7], + Role: "metadata", + }, + }, +]; diff --git a/src/modules/01_metadata/store.ts b/src/modules/01_metadata/store.ts new file mode 100644 index 000000000..7c29e3797 --- /dev/null +++ b/src/modules/01_metadata/store.ts @@ -0,0 +1,236 @@ +import { ref, computed } from "vue"; +import { defineStore } from "pinia"; + +export const useManageDataStore = defineStore("manage", () => { + interface manage { + link: number; + person: { + name: string; + prefix: { columns: String[] }; + blood: { columns: String[] }; + gender: { columns: String[] }; + religion: { columns: String[] }; + relationship: { columns: String[] }; + education: { columns: String[] }; + province: { columns: String[] }; + district: { columns: String[] }; + subDistrict: { columns: String[] }; + }; + organization: { + name: string; + organization: { columns: String[] }; + shortName: { columns: String[] }; + type: { columns: String[] }; + level: { columns: String[] }; + agency: { columns: String[] }; + governmentAgency: { columns: String[] }; + status: { columns: String[] }; + telInternal: { columns: String[] }; + telExternal: { columns: String[] }; + fax: { columns: String[] }; + }; + position: { + name: string; + path: { columns: String[] }; + executiveSide: { columns: String[] }; + type: { columns: String[] }; + line: { columns: String[] }; + pathSide: { columns: String[] }; + executive: { columns: String[] }; + level: { columns: String[] }; + status: { columns: String[] }; + }; + positionEmployee: { + name: string; + position: { columns: String[] }; + positionSide: { columns: String[] }; + group: { columns: String[] }; + line: { columns: String[] }; + level: { columns: String[] }; + status: { columns: String[] }; + }; + calendar: { + name: string; + tree: { columns: String[] }; + list: { columns: String[] }; + }; + insignia: { + name: string; + class: { columns: String[] }; + type: { columns: String[] }; + // badge: { columns: String[] }; + }; + } + + const manageData = ref({ + link: 1, + person: { + name: "", + prefix: { columns: [] }, + blood: { columns: [] }, + gender: { columns: [] }, + religion: { columns: [] }, + relationship: { columns: [] }, + education: { columns: [] }, + province: { columns: [] }, + district: { columns: [] }, + subDistrict: { columns: [] }, + }, + organization: { + name: "", + organization: { columns: [] }, + shortName: { columns: [] }, + type: { columns: [] }, + level: { columns: [] }, + agency: { columns: [] }, + governmentAgency: { columns: [] }, + status: { columns: [] }, + telInternal: { columns: [] }, + telExternal: { columns: [] }, + fax: { columns: [] }, + }, + position: { + name: "", + path: { columns: [] }, + executiveSide: { columns: [] }, + type: { columns: [] }, + line: { columns: [] }, + pathSide: { columns: [] }, + executive: { columns: [] }, + level: { columns: [] }, + status: { columns: [] }, + }, + positionEmployee: { + name: "", + position: { columns: [] }, + positionSide: { columns: [] }, + group: { columns: [] }, + line: { columns: [] }, + level: { columns: [] }, + status: { columns: [] }, + }, + calendar: { + name: "", + tree: { columns: [] }, + list: { columns: [] }, + }, + insignia: { + name: "", + class: { columns: [] }, + type: { columns: [] }, + // badge: { columns: [] }, + }, + }); + + const changeManageCurrentTab = (type: number, val: string) => { + if (type == 1) manageData.value.person.name = val; + if (type == 2) manageData.value.organization.name = val; + if (type == 3) manageData.value.position.name = val; + if (type == 4) manageData.value.positionEmployee.name = val; + if (type == 5) manageData.value.calendar.name = val; + if (type == 6) manageData.value.insignia.name = val; + localStorage.setItem("manage", JSON.stringify(manageData.value)); + }; + + const changeManageColumns = (type: number, tab: String, val: String[]) => { + if (type == 1) { + if (tab == "blood") manageData.value.person.blood.columns = val; + if (tab == "district") manageData.value.person.district.columns = val; + if (tab == "education") manageData.value.person.education.columns = val; + if (tab == "gender") manageData.value.person.gender.columns = val; + if (tab == "prefix") manageData.value.person.prefix.columns = val; + if (tab == "province") manageData.value.person.province.columns = val; + if (tab == "religion") manageData.value.person.religion.columns = val; + if (tab == "relationship") + manageData.value.person.relationship.columns = val; + if (tab == "subDistrict") + manageData.value.person.subDistrict.columns = val; + } + if (type == 2) { + if (tab == "agency") manageData.value.organization.agency.columns = val; + if (tab == "fax") manageData.value.organization.fax.columns = val; + if (tab == "governmentAgency") + manageData.value.organization.governmentAgency.columns = val; + if (tab == "shortName") + manageData.value.organization.shortName.columns = val; + if (tab == "level") manageData.value.organization.level.columns = val; + if (tab == "organization") + manageData.value.organization.organization.columns = val; + if (tab == "status") manageData.value.organization.status.columns = val; + if (tab == "telExternal") + manageData.value.organization.telExternal.columns = val; + if (tab == "telInternal") + manageData.value.organization.telInternal.columns = val; + if (tab == "type") manageData.value.organization.type.columns = val; + } + if (type == 3) { + if (tab == "executive") manageData.value.position.executive.columns = val; + if (tab == "executiveSide") + manageData.value.position.executiveSide.columns = val; + if (tab == "level") manageData.value.position.level.columns = val; + if (tab == "line") manageData.value.position.line.columns = val; + if (tab == "path") manageData.value.position.path.columns = val; + if (tab == "pathSide") manageData.value.position.pathSide.columns = val; + if (tab == "status") manageData.value.position.status.columns = val; + if (tab == "type") manageData.value.position.type.columns = val; + } + if (type == 4) { + if (tab == "group") manageData.value.positionEmployee.group.columns = val; + if (tab == "level") manageData.value.positionEmployee.level.columns = val; + if (tab == "line") manageData.value.positionEmployee.line.columns = val; + if (tab == "position") + manageData.value.positionEmployee.position.columns = val; + if (tab == "positionSide") + manageData.value.positionEmployee.positionSide.columns = val; + if (tab == "status") + manageData.value.positionEmployee.status.columns = val; + } + if (type == 5) { + if (tab == "tree") manageData.value.calendar.tree.columns = val; + if (tab == "list") manageData.value.calendar.list.columns = val; + } + if (type == 6) { + // if (tab == "badge") manageData.value.insignia.badge.columns = val; + if (tab == "class") manageData.value.insignia.class.columns = val; + if (tab == "type") manageData.value.insignia.type.columns = val; + } + localStorage.setItem("manage", JSON.stringify(manageData.value)); + }; + + const changeManageLink = (val: number) => { + manageData.value.link = val; + localStorage.setItem("manage", JSON.stringify(manageData.value)); + }; + + if (localStorage.getItem("manage")) { + const data = JSON.parse(localStorage.getItem("manage") || "{}"); + const isDataValid = Object.getOwnPropertyNames(manageData.value).every( + (val1) => { + const descriptor1 = Object.getOwnPropertyDescriptor( + manageData.value, + val1 + ); + return ( + descriptor1 && + descriptor1.configurable && + Object.getOwnPropertyNames(descriptor1.value).every((val2) => { + return data[val1] && data[val1].hasOwnProperty(val2); + }) + ); + } + ); + + if (isDataValid) { + manageData.value = data; + } else { + localStorage.setItem("manage", JSON.stringify(manageData.value)); + } + } + + return { + manageData, + changeManageCurrentTab, + changeManageLink, + changeManageColumns, + }; +}); diff --git a/src/modules/01_metadata/views/Main.vue b/src/modules/01_metadata/views/Main.vue new file mode 100644 index 000000000..ef9f9242f --- /dev/null +++ b/src/modules/01_metadata/views/Main.vue @@ -0,0 +1,761 @@ + + + + + + + +function components(arg0: () => void) { throw new Error("Function not +implemented."); } function components(arg0: () => void) { throw new +Error("Function not implemented."); } function components(arg0: () => void) { +throw new Error("Function not implemented."); } diff --git a/src/modules/01_metadata/views/MainCalendar.vue b/src/modules/01_metadata/views/MainCalendar.vue new file mode 100644 index 000000000..1e05ef7e2 --- /dev/null +++ b/src/modules/01_metadata/views/MainCalendar.vue @@ -0,0 +1,607 @@ + + + + + + diff --git a/src/modules/02_organizational/components/AddMappingPositions.vue b/src/modules/02_organizational/components/AddMappingPositions.vue new file mode 100644 index 000000000..1d63860a0 --- /dev/null +++ b/src/modules/02_organizational/components/AddMappingPositions.vue @@ -0,0 +1,1494 @@ + + + + + + + diff --git a/src/modules/02_organizational/components/DialogFooter.vue b/src/modules/02_organizational/components/DialogFooter.vue new file mode 100644 index 000000000..a99ee7515 --- /dev/null +++ b/src/modules/02_organizational/components/DialogFooter.vue @@ -0,0 +1,90 @@ + + diff --git a/src/modules/02_organizational/components/DialogHeader.vue b/src/modules/02_organizational/components/DialogHeader.vue new file mode 100644 index 000000000..93aa1f86e --- /dev/null +++ b/src/modules/02_organizational/components/DialogHeader.vue @@ -0,0 +1,27 @@ + + diff --git a/src/modules/02_organizational/components/Table.vue b/src/modules/02_organizational/components/Table.vue new file mode 100644 index 000000000..5296934e9 --- /dev/null +++ b/src/modules/02_organizational/components/Table.vue @@ -0,0 +1,221 @@ + + + diff --git a/src/modules/02_organizational/components/TableReport.vue b/src/modules/02_organizational/components/TableReport.vue new file mode 100644 index 000000000..4d1281c68 --- /dev/null +++ b/src/modules/02_organizational/components/TableReport.vue @@ -0,0 +1,215 @@ + + + diff --git a/src/modules/02_organizational/components/Tree/MappingPositions.vue b/src/modules/02_organizational/components/Tree/MappingPositions.vue new file mode 100644 index 000000000..b81347688 --- /dev/null +++ b/src/modules/02_organizational/components/Tree/MappingPositions.vue @@ -0,0 +1,444 @@ + + + + + + + + + + + diff --git a/src/modules/02_organizational/components/Tree/OrganizationDialog.vue b/src/modules/02_organizational/components/Tree/OrganizationDialog.vue new file mode 100644 index 000000000..8c6d9d905 --- /dev/null +++ b/src/modules/02_organizational/components/Tree/OrganizationDialog.vue @@ -0,0 +1,999 @@ + + diff --git a/src/modules/02_organizational/components/Tree/OrganizationDialogAddEdit.vue b/src/modules/02_organizational/components/Tree/OrganizationDialogAddEdit.vue new file mode 100644 index 000000000..0031ae37a --- /dev/null +++ b/src/modules/02_organizational/components/Tree/OrganizationDialogAddEdit.vue @@ -0,0 +1,1040 @@ + + diff --git a/src/modules/02_organizational/components/Tree/TreeButtonsSet.vue b/src/modules/02_organizational/components/Tree/TreeButtonsSet.vue new file mode 100644 index 000000000..2b492b044 --- /dev/null +++ b/src/modules/02_organizational/components/Tree/TreeButtonsSet.vue @@ -0,0 +1,232 @@ + + + + + + + + diff --git a/src/modules/02_organizational/interface/index/Main.ts b/src/modules/02_organizational/interface/index/Main.ts new file mode 100644 index 000000000..64f6a5414 --- /dev/null +++ b/src/modules/02_organizational/interface/index/Main.ts @@ -0,0 +1,89 @@ +import { readonly } from "vue"; +interface Pagination { + rowsPerPage: number; +} + +interface DataOption { + id: string; + name: string; + note?: string; +} + +interface GovermentOption { + id: string; + shortName: string; + agencyCode: string; + governmentCode: string; +} + +interface OrganizaOption { + organizationOrganizationId: string; // หน่วยงาน + organizationShortNameId: string; // Idย่อหน่วยงาน + organizationShortName: string; // ชื่อย่อหน่วยงาน + organizationAgencyCode: string; // รหัสหน่วยงาน + organizationGovernmentCode: string; // รหัสส่วนราชการ + organizationAgencyId: string; // หน่วยงานต้นสังกัด + organizationGovernmentAgencyId: string; // ส่วนราชการต้นสังกัด + organizationTypeId: string; // ประเภทหน่วยงาน + organizationLevelId: string; //ระดับหน่วยงาน + organizationInternalPhoneId: string; //เบอร์ติดต่อภายใน + organizationExternalPhoneId: string; //เบอร์ติดต่อภายนอก + organizationFaxId: string; //เบอร์โทรสาร + organizationOrder: Number; // ลำดับผังโครงสร้าง + organizationUserNote: string; // User Note + organizationStatusId: string; //status + organizationGovernmentCodeOption: GovermentOption[]; + organizationGovernmentCodeOptionFilter: GovermentOption[]; + agency: string; // หน่วยงาน + government: string; // ส่วนราชการ + department: string; // ฝ่าย/ส่วน + pile: string; // กอง + // organizationAgencyCodeOption: GovermentOption[]; + // organizationAgencyCodeOptionFilter: GovermentOption[]; +} + +// const organizationSet = readonly({ +// organizationOrganizationId: "", // หน่วยงาน +// organizationShortNameId: "", // รหัสส่วนราชการ +// organizationShortName: "", // ชื่อย่อหน่วยงาน +// organizationShortCode: "", // รหัสหน่วยงาน +// organizationAgencyId: "", // หน่วยงานต้นสังกัด +// organizationGovernmentAgencyId: "", // ส่วนราชการต้นสังกัด +// organizationTypeId: "", // ประเภทหน่วยงาน +// organizationLevelId: "", //ระดับหน่วยงาน +// organizationInternalPhoneId: "", //เบอร์ติดต่อภายใน +// organizationExternalPhoneId: "", //เบอร์ติดต่อภายนอก +// organizationFaxId: "", //เบอร์โทรสาร +// organizationOrder: 0, // ลำดับผังโครงสร้าง +// organizationUserNote: "", // User Note +// }); + +interface UploadType { + id: string; + fileName: string; + fileSize: number; + fileType: string; + detail: string; +} + +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +// export { organizationSet }; +export type { + Pagination, + DataOption, + OrganizaOption, + GovermentOption, + UploadType, + Columns, +}; diff --git a/src/modules/02_organizational/interface/request/Mapping.ts b/src/modules/02_organizational/interface/request/Mapping.ts new file mode 100644 index 000000000..24c3b0b51 --- /dev/null +++ b/src/modules/02_organizational/interface/request/Mapping.ts @@ -0,0 +1,68 @@ +//ข้อมูลประวัติแก้ไข +interface RequestItemsPublishHistoryObject { + id: string; + items: RequestItemsObject[]; + publishedDate: string; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + positionMasterId: string; //ประเภท + positionType: string; //ประเภท + positionLine: string; //สายงาน + positionPath: string; //ตำแหน่งในสายงาน + positionPathSide: string; //ด้านของสายงาน + positionExecutive: string; //ตำแหน่งบริหาร + positionExecutiveSide: string; //ด้านบริหาร + positionLevel: any; //ระดับ array text + positionStatus: string; //สถานภาพของตำแหน่ง + positionTypeId: string; + positionLineId: string; + positionPathId: string; + positionPathSideId: string; + positionExecutiveId: string; + positionExecutiveSideId: string; + positionStatusId: string; //สถานภาพของตำแหน่ง ไม่แน่ใจ DB + positionCondition: string; //เงื่อนไขตำแหน่ง + positionMasterUserNote: string; //หมายเหตุ + positionLevelId: any; //ระดับ array id + isDirector: boolean; //หัวหน้า + isActive: boolean; + isPublished?: boolean; + lastUpdateFullName?: String; + lastUpdatedAt?: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +interface RequestReport2 { + organizationShortNameId: string; + organizationOrganizationId: string; + positionNumId: string; + positionTypeId: string; + positionExecutiveId: string; + positionExecutiveSideId: string; + positionPathId: string; + positionPathSideId: string; + positionLevelId: string; + status: string | null; +} + +export type { + RequestItemsObject, + RequestItemsPublishHistoryObject, + Columns, + RequestReport2, +}; diff --git a/src/modules/02_organizational/interface/response/Mapping.ts b/src/modules/02_organizational/interface/response/Mapping.ts new file mode 100644 index 000000000..2bf8c564d --- /dev/null +++ b/src/modules/02_organizational/interface/response/Mapping.ts @@ -0,0 +1,103 @@ +//ข้อมูล +interface ResponseObject { + id: string; + positionType: string; + positionLine: string; + positionPath: string; + positionPathSide: string; + positionExecutive: string; + positionExecutiveSide: string; + positionLevel: any; + positionTypeId: string; + positionLineId: string; + positionPathId: string; + positionPathSideId: string; + positionExecutiveId: string; + positionExecutiveSideId: string; + positionStatus: string; + titleStatus: string; + positionLevelId: any; + owner: boolean; + isActive: boolean; +} + +interface ResponseTree { + no: number; + profilePositionId: string | null; + name: string | null; + edu: string | null; + posiNumOld: string | null; + posiNumNew: string | null; + posiOld: string | null; + posiNew: string | null; + levelOld: string | null; + levelNew: string | null; + change: string | null; + statusPosition: Boolean; + report2Id: string | null; +} + +interface ResponseDetail { + report2Id: string; + name: string; + edu: string; + salary: number; + salary2: number; + salary3: number; + goverment: string; + agency: string; + posiNum: string; + category: string; + posiManage: string; + sideManage: string; + posiWork: string; + sideWork: string; + level: string; + goverment2: string; + agency2: string; + posiNum2: string; + category2: string; + posiManage2: string; + sideManage2: string; + posiWork2: string; + sideWork2: string; + level2: string; +} + +interface ResponseHistoryHead { + historyId: string; + date: Date; +} +interface ResponseHistory { + fullName: string; + education: string; + salary: number; + salaryPosition: number; + salaryMonth: number; + oldOrganizationShortName: string; + oldOrganizationOrganization: string; + oldPositionNum: string; + oldPositionType: string; + oldPositionExecutive: string; + oldPositionExecutiveSide: string; + oldPositionPath: string; + oldPositionPathSide: string; + oldPositionLevel: string; + newOrganizationShortName: string; + newOrganizationOrganization: string; + newPositionNum: string; + newPositionType: string; + newPositionExecutive: string; + newPositionExecutiveSide: string; + newPositionPath: string; + newPositionPathSide: string; + newPositionLevel: string; +} + +export type { + ResponseObject, + ResponseTree, + ResponseDetail, + ResponseHistory, + ResponseHistoryHead, +}; diff --git a/src/modules/02_organizational/router.ts b/src/modules/02_organizational/router.ts new file mode 100644 index 000000000..01e908726 --- /dev/null +++ b/src/modules/02_organizational/router.ts @@ -0,0 +1,113 @@ +/** + * Router ระบบโครงสร้างหน่วยงานและกรอบอัตรากำลัง (Organizational) + */ + +const MainMapping = () => + import("@/modules/02_organizational/views/MainMapping.vue"); +const MainStructChart = () => + import("@/modules/02_organizational/views/MainStructChart.vue"); +const MainOrgChart = () => + import("@/modules/02_organizational/views/MainOrgChart.vue"); +const MainTree = () => import("@/modules/02_organizational/views/MainTree.vue"); +const MainReport = () => + import("@/modules/02_organizational/views/MainReport.vue"); +const ManageReport2 = () => + import("@/modules/02_organizational/views/ManageReport2.vue"); +const ManageReport2Add = () => + import("@/modules/02_organizational/views/ManageReport2Add.vue"); + +const ManageReport2History = () => + import("@/modules/02_organizational/views/ManageReport2History.vue"); + +export default [ + { + path: "/organizational/mapping", + name: "organizationalMapping", + component: MainMapping, + meta: { + Auth: true, + Key: [7], + Role: "organization", + }, + }, + { + path: "/organizational/structchart", + name: "organizationalStructChart", + component: MainStructChart, + meta: { + Auth: true, + Key: [8], + Role: "organization", + }, + }, + { + path: "/organizational/orgchart", + name: "organizationalOrgChart", + component: MainOrgChart, + meta: { + Auth: true, + key: [14], + Role: "organization", + }, + }, + { + path: "/organizational/tree", + name: "organizationalTree", + component: MainTree, + meta: { + Auth: true, + Key: [9], + Role: "organization", + }, + }, + { + path: "/organizational/manage/report", + name: "manageReport2", + component: ManageReport2, + meta: { + Auth: true, + Key: [11], + Role: "organization", + }, + }, + { + path: "/organizational/manage/report/:id", + name: "ManageReport2Edit", + component: ManageReport2Add, + meta: { + Auth: true, + Key: [7], + Role: "organization", + }, + }, + { + path: "/organizational/manage/report/add", + name: "ManageReport2Add", + component: ManageReport2Add, + meta: { + Auth: true, + Key: [10], + Role: "organization", + }, + }, + { + path: "/organizational/manage/report/history/:id", + name: "ManageReport2History", + component: ManageReport2History, + meta: { + Auth: true, + Key: [15], + Role: "organization", + }, + }, + { + path: "/organizational/report", + name: "organizationalReport", + component: MainReport, + meta: { + Auth: true, + Key: [13], + Role: "organization", + }, + }, +]; diff --git a/src/modules/02_organizational/store.ts b/src/modules/02_organizational/store.ts new file mode 100644 index 000000000..822c8f866 --- /dev/null +++ b/src/modules/02_organizational/store.ts @@ -0,0 +1,32 @@ +import { ref, computed } from "vue"; +import { defineStore } from "pinia"; + +export const useOrganizationalDataStore = defineStore("organizational", () => { + interface organizational { + mappingPosition: { columns: String[] }; + } + + const organizationalData = ref({ + mappingPosition: { columns: [] }, + }); + + const changeOrganizationalColumns = (system: String, val: String[]) => { + if (system == "mappingPosition") + organizationalData.value.mappingPosition.columns = val; + localStorage.setItem( + "organizational", + JSON.stringify(organizationalData.value) + ); + }; + + if (localStorage.getItem("organizational") !== null) { + organizationalData.value = JSON.parse( + localStorage.getItem("organizational") || "{}" + ); + } + + return { + organizationalData, + changeOrganizationalColumns, + }; +}); diff --git a/src/modules/02_organizational/views/MainMapping.vue b/src/modules/02_organizational/views/MainMapping.vue new file mode 100644 index 000000000..09c55c0f8 --- /dev/null +++ b/src/modules/02_organizational/views/MainMapping.vue @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/src/modules/02_organizational/views/MainOrgChart.vue b/src/modules/02_organizational/views/MainOrgChart.vue new file mode 100644 index 000000000..6b3b16408 --- /dev/null +++ b/src/modules/02_organizational/views/MainOrgChart.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/src/modules/02_organizational/views/MainReport.vue b/src/modules/02_organizational/views/MainReport.vue new file mode 100644 index 000000000..4733ef666 --- /dev/null +++ b/src/modules/02_organizational/views/MainReport.vue @@ -0,0 +1,197 @@ + + diff --git a/src/modules/02_organizational/views/MainStructChart.vue b/src/modules/02_organizational/views/MainStructChart.vue new file mode 100644 index 000000000..457afb226 --- /dev/null +++ b/src/modules/02_organizational/views/MainStructChart.vue @@ -0,0 +1,225 @@ + + + + + diff --git a/src/modules/02_organizational/views/MainTree.vue b/src/modules/02_organizational/views/MainTree.vue new file mode 100644 index 000000000..ad4cc8504 --- /dev/null +++ b/src/modules/02_organizational/views/MainTree.vue @@ -0,0 +1,1610 @@ + + + + + + + + diff --git a/src/modules/02_organizational/views/ManageReport2.vue b/src/modules/02_organizational/views/ManageReport2.vue new file mode 100644 index 000000000..ec1f389e0 --- /dev/null +++ b/src/modules/02_organizational/views/ManageReport2.vue @@ -0,0 +1,622 @@ + + + + + + + + diff --git a/src/modules/02_organizational/views/ManageReport2Add.vue b/src/modules/02_organizational/views/ManageReport2Add.vue new file mode 100644 index 000000000..43b9bae2b --- /dev/null +++ b/src/modules/02_organizational/views/ManageReport2Add.vue @@ -0,0 +1,1131 @@ + + + + + + + diff --git a/src/modules/02_organizational/views/ManageReport2History.vue b/src/modules/02_organizational/views/ManageReport2History.vue new file mode 100644 index 000000000..255801559 --- /dev/null +++ b/src/modules/02_organizational/views/ManageReport2History.vue @@ -0,0 +1,478 @@ + + + diff --git a/src/modules/02_organizational/views/Report.vue b/src/modules/02_organizational/views/Report.vue new file mode 100644 index 000000000..75426f4da --- /dev/null +++ b/src/modules/02_organizational/views/Report.vue @@ -0,0 +1,148 @@ + + diff --git a/src/modules/03_recruiting/components/Address.vue b/src/modules/03_recruiting/components/Address.vue new file mode 100644 index 000000000..4ee38e840 --- /dev/null +++ b/src/modules/03_recruiting/components/Address.vue @@ -0,0 +1,422 @@ + + + diff --git a/src/modules/03_recruiting/components/Career.vue b/src/modules/03_recruiting/components/Career.vue new file mode 100644 index 000000000..902f68346 --- /dev/null +++ b/src/modules/03_recruiting/components/Career.vue @@ -0,0 +1,591 @@ + + + + diff --git a/src/modules/03_recruiting/components/DialogFooter.vue b/src/modules/03_recruiting/components/DialogFooter.vue new file mode 100644 index 000000000..20c8c16c2 --- /dev/null +++ b/src/modules/03_recruiting/components/DialogFooter.vue @@ -0,0 +1,105 @@ + + diff --git a/src/modules/03_recruiting/components/DialogHeader.vue b/src/modules/03_recruiting/components/DialogHeader.vue new file mode 100644 index 000000000..2c32d1617 --- /dev/null +++ b/src/modules/03_recruiting/components/DialogHeader.vue @@ -0,0 +1,25 @@ + + diff --git a/src/modules/03_recruiting/components/Document.vue b/src/modules/03_recruiting/components/Document.vue new file mode 100644 index 000000000..03ab790a9 --- /dev/null +++ b/src/modules/03_recruiting/components/Document.vue @@ -0,0 +1,246 @@ + + + diff --git a/src/modules/03_recruiting/components/Education.vue b/src/modules/03_recruiting/components/Education.vue new file mode 100644 index 000000000..6b39a276b --- /dev/null +++ b/src/modules/03_recruiting/components/Education.vue @@ -0,0 +1,622 @@ + + + + diff --git a/src/modules/03_recruiting/components/ExamFinished.vue b/src/modules/03_recruiting/components/ExamFinished.vue new file mode 100644 index 000000000..57a8d2582 --- /dev/null +++ b/src/modules/03_recruiting/components/ExamFinished.vue @@ -0,0 +1,186 @@ + + + + + diff --git a/src/modules/03_recruiting/components/Family.vue b/src/modules/03_recruiting/components/Family.vue new file mode 100644 index 000000000..6dbe2e344 --- /dev/null +++ b/src/modules/03_recruiting/components/Family.vue @@ -0,0 +1,363 @@ + + + diff --git a/src/modules/03_recruiting/components/Information.vue b/src/modules/03_recruiting/components/Information.vue new file mode 100644 index 000000000..ade873016 --- /dev/null +++ b/src/modules/03_recruiting/components/Information.vue @@ -0,0 +1,621 @@ + + + + + diff --git a/src/modules/03_recruiting/components/Occupation.vue b/src/modules/03_recruiting/components/Occupation.vue new file mode 100644 index 000000000..b9c22a933 --- /dev/null +++ b/src/modules/03_recruiting/components/Occupation.vue @@ -0,0 +1,340 @@ + + + diff --git a/src/modules/03_recruiting/components/Profile.vue b/src/modules/03_recruiting/components/Profile.vue new file mode 100644 index 000000000..0d70ca2d0 --- /dev/null +++ b/src/modules/03_recruiting/components/Profile.vue @@ -0,0 +1,188 @@ + + + diff --git a/src/modules/03_recruiting/components/Table.vue b/src/modules/03_recruiting/components/Table.vue new file mode 100644 index 000000000..4b4016279 --- /dev/null +++ b/src/modules/03_recruiting/components/Table.vue @@ -0,0 +1,235 @@ + + + diff --git a/src/modules/03_recruiting/components/TableCan.vue b/src/modules/03_recruiting/components/TableCan.vue new file mode 100644 index 000000000..1ac843d17 --- /dev/null +++ b/src/modules/03_recruiting/components/TableCan.vue @@ -0,0 +1,220 @@ + + + diff --git a/src/modules/03_recruiting/components/TableCandidate.vue b/src/modules/03_recruiting/components/TableCandidate.vue new file mode 100644 index 000000000..2f56c1907 --- /dev/null +++ b/src/modules/03_recruiting/components/TableCandidate.vue @@ -0,0 +1,426 @@ + + + diff --git a/src/modules/03_recruiting/components/top.vue b/src/modules/03_recruiting/components/top.vue new file mode 100644 index 000000000..f3e634949 --- /dev/null +++ b/src/modules/03_recruiting/components/top.vue @@ -0,0 +1,106 @@ + + + diff --git a/src/modules/03_recruiting/interface/index/Main.ts b/src/modules/03_recruiting/interface/index/Main.ts new file mode 100644 index 000000000..c28d26150 --- /dev/null +++ b/src/modules/03_recruiting/interface/index/Main.ts @@ -0,0 +1,349 @@ +import { ref } from "vue"; +interface Pagination { + rowsPerPage: number; +} + +interface DataDateMonthObject { + month: number; + year: number; +} + +interface ChangeActive { + name: string; + id: number; +} + +//ข้อมูลส่วนตัว +interface Information { + cardid: string | null; + prefix: string | null; + prefixId: string | null; + firstname: string | null; + lastname: string | null; + birthDate: Date | null; + genderId: string | null; + bloodId: string | null; + nationality: string | null; + ethnicity: string | null; + religionId: string | null; + tel: string | null; + phone: string | null; + email: string | null; + province: string | null; + provinceId: string | null; + districtId: string | null; + cardIdDate: Date | null; + relationshipId: string | null; + statusId: string | null; + knowledge: string | null; + profileImg: string | null; +} + +interface Family { + prefixC: string | null; // couple + prefixIdC: string | null; + firstnameC: string | null; + lastnameC: string | null; + occupationC: string | null; + nationalityC: string | null; + prefixM: string | null; // male + prefixIdM: string | null; + firstnameM: string | null; + lastnameM: string | null; + occupationM: string | null; + nationalityM: string | null; + prefixF: string | null; // female + prefixIdF: string | null; + firstnameF: string | null; + lastnameF: string | null; + occupationF: string | null; + nationalityF: string | null; + same: string | null; +} + +interface Occupation { + status: string | null; + company: string | null; + department: string | null; + email: string | null; + tel: string | null; + official: string | null; + personnel: string | null; + officialsOther: string | null; + employee: string | null; + other: string | null; +} + +interface Address { + address: string | null; + provinceId: string | null; + districtId: string | null; + subdistrictId: string | null; + code?: number | null; + addressC: string | null; + provinceIdC: string | null; + districtIdC: string | null; + subdistrictIdC: string | null; + codeC?: number | null; + same: string | null; +} + +interface DataOption { + id: string; + name: string; + zipCode?: number | null; +} + +interface zipCodeOption { + id: string; + name: string; + zipCode: string | null; +} + +interface UploadType { + id: string; + fileName: string; + fileSize: number; + fileType: string; + detail: string; +} + +interface WebType { + by: string; + thai: string; + eng: string; + descripstion: string; +} + +interface AddressWeb { + address: string | null; + provinceId: string | null; + districtId: string | null; + subdistrictId: string | null; + tel: string | null; + code: string | null; +} + +interface EnableType { + photo: boolean; + web: boolean; + about: boolean; +} + +interface CmsTable { + id: string; + name: string; + link: string; + createdAt: Date; + lastUpdatedAt: Date; +} + +interface ExamCard { + id: string; + title: string; + announcementDate: Date; + registerRound: Number; + registerDateStart: Date; + registerDateEnd: Date; + yearly: Date; +} + +const defaultCard: ExamCard[] = [ + { + id: "1", + title: "การสอบภาค ข. พิเศษ สำหรับผู้สอบผ่านของส่วนราชการแล้ว", + registerRound: 2, + announcementDate: new Date("2022-11-23"), + registerDateStart: new Date("2022-11-09"), + registerDateEnd: new Date("2022-11-10"), + yearly: new Date("2022-01-01"), + }, + { + id: "2", + title: "การสอบภาค ก. พิเศษ สำหรับผู้สอบผ่านของส่วนราชการแล้ว", + registerRound: 1, + announcementDate: new Date("2022-10-14"), + registerDateStart: new Date("2022-10-09"), + registerDateEnd: new Date("2022-11-30"), + yearly: new Date("2022-01-01"), + }, + { + id: "2", + title: "การสอบภาค ก. พิเศษ สำหรับผู้สอบผ่านของส่วนราชการแล้ว", + registerRound: 1, + announcementDate: new Date("2022-10-14"), + registerDateStart: new Date("2022-10-09"), + registerDateEnd: new Date("2022-11-30"), + yearly: new Date("2022-01-01"), + }, + { + id: "2", + title: "การสอบภาค ก. พิเศษ สำหรับผู้สอบผ่านของส่วนราชการแล้ว", + registerRound: 1, + announcementDate: new Date("2022-10-14"), + registerDateStart: new Date("2022-10-09"), + registerDateEnd: new Date("2022-11-30"), + yearly: new Date("2022-01-01"), + }, + { + id: "2", + title: "การสอบภาค ก. พิเศษ สำหรับผู้สอบผ่านของส่วนราชการแล้ว", + registerRound: 1, + announcementDate: new Date("2022-10-14"), + registerDateStart: new Date("2022-10-09"), + registerDateEnd: new Date("2022-11-30"), + yearly: new Date("2022-01-01"), + }, + { + id: "2", + title: "การสอบภาค ก. พิเศษ สำหรับผู้สอบผ่านของส่วนราชการแล้ว", + registerRound: 1, + announcementDate: new Date("2022-10-14"), + registerDateStart: new Date("2022-10-09"), + registerDateEnd: new Date("2022-11-30"), + yearly: new Date("2022-01-01"), + }, + { + id: "2", + title: "การสอบภาค ก. พิเศษ สำหรับผู้สอบผ่านของส่วนราชการแล้ว", + registerRound: 1, + announcementDate: new Date("2022-10-14"), + registerDateStart: new Date("2022-10-09"), + registerDateEnd: new Date("2022-11-30"), + yearly: new Date("2022-01-01"), + }, + { + id: "2", + title: "การสอบภาค ก. พิเศษ สำหรับผู้สอบผ่านของส่วนราชการแล้ว", + registerRound: 1, + announcementDate: new Date("2022-10-14"), + registerDateStart: new Date("2022-10-09"), + registerDateEnd: new Date("2022-11-30"), + yearly: new Date("2022-01-01"), + }, + { + id: "2", + title: "การสอบภาค ก. พิเศษ สำหรับผู้สอบผ่านของส่วนราชการแล้ว", + registerRound: 1, + announcementDate: new Date("2022-10-14"), + registerDateStart: new Date("2022-10-09"), + registerDateEnd: new Date("2022-11-30"), + yearly: new Date("2022-01-01"), + }, + { + id: "2", + title: "การสอบภาค ก. พิเศษ สำหรับผู้สอบผ่านของส่วนราชการแล้ว", + registerRound: 1, + announcementDate: new Date("2022-10-14"), + registerDateStart: new Date("2022-10-09"), + registerDateEnd: new Date("2022-11-30"), + yearly: new Date("2022-01-01"), + }, +]; + +const defaultAddress = ref
({ + address: null, + provinceId: null, + districtId: null, + subdistrictId: null, + // code: , + addressC: null, + provinceIdC: null, + districtIdC: null, + subdistrictIdC: null, + // codeC: , + same: "1", +}); + +const defaultInformation = ref({ + cardid: null, + prefix: null, + prefixId: null, + firstname: null, + lastname: null, + birthDate: new Date(), + genderId: null, + bloodId: null, + nationality: null, + ethnicity: null, + religionId: null, + tel: null, + phone: null, + email: null, + province: null, + cardIdDate: new Date(), + relationshipId: null, + knowledge: null, + districtId: null, + provinceId: null, + statusId: null, + profileImg: null, +}); + +const defaultFamily = ref({ + prefixC: null, + prefixIdC: null, + firstnameC: null, + lastnameC: null, + occupationC: null, + nationalityC: null, + prefixM: null, + prefixIdM: null, + firstnameM: null, + lastnameM: null, + occupationM: null, + nationalityM: null, + prefixF: null, + prefixIdF: null, + firstnameF: null, + lastnameF: null, + occupationF: null, + nationalityF: null, + same: "0", +}); + +const defaultOccupation = ref({ + status: null, + company: null, + department: null, + email: null, + tel: null, + official: null, + personnel: null, + officialsOther: null, + employee: null, + other: null, +}); + +const changeData = (system: String, val: any) => { + if (system == "information") defaultInformation.value = val; + if (system == "address") defaultAddress.value = val; + if (system == "famliy") defaultFamily.value = val; + if (system == "occupation") defaultOccupation.value = val; +}; + +export { + defaultInformation, + defaultFamily, + defaultAddress, + defaultOccupation, + defaultCard, + changeData, +}; +export type { + Pagination, + DataOption, + DataDateMonthObject, + ChangeActive, + Information, + Family, + Address, + zipCodeOption, + Occupation, + ExamCard, + UploadType, + WebType, + AddressWeb, + EnableType, + CmsTable, +}; diff --git a/src/modules/03_recruiting/interface/request/Career.ts b/src/modules/03_recruiting/interface/request/Career.ts new file mode 100644 index 000000000..0489f55b1 --- /dev/null +++ b/src/modules/03_recruiting/interface/request/Career.ts @@ -0,0 +1,29 @@ +interface DataProps { + row: RequestItemsObject + rowIndex: number +} + +//ข้อมูล +interface RequestItemsObject { + id: string + location: string + position: string + salary: number | null + duration: [Date, Date] + reason: string +} + +//columns +interface Columns { + [index: number]: { + name: String + align: String + label: String + sortable: Boolean + field: String + headerStyle: String + style: String + } +} + +export type { RequestItemsObject, Columns, DataProps } diff --git a/src/modules/03_recruiting/interface/request/Editor.ts b/src/modules/03_recruiting/interface/request/Editor.ts new file mode 100644 index 000000000..31a6fc9e8 --- /dev/null +++ b/src/modules/03_recruiting/interface/request/Editor.ts @@ -0,0 +1,6 @@ +interface DataLink { + name: string | null; + link: string | null; +} + +export type { DataLink }; diff --git a/src/modules/03_recruiting/interface/request/Education.ts b/src/modules/03_recruiting/interface/request/Education.ts new file mode 100644 index 000000000..f8702c6d6 --- /dev/null +++ b/src/modules/03_recruiting/interface/request/Education.ts @@ -0,0 +1,30 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + educationLevelId: string; + educationLevel: string; + major: string; + scores: number | null; + name: string; + duration: [Date, Date]; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/03_recruiting/interface/request/Main.ts b/src/modules/03_recruiting/interface/request/Main.ts new file mode 100644 index 000000000..dc6b1377b --- /dev/null +++ b/src/modules/03_recruiting/interface/request/Main.ts @@ -0,0 +1,30 @@ +//ข้อมูล +interface RequestItemsObject { + id: number; + fullname: String; + avatar: String; + citizenId: String; + position: String; + line: String; + linePosition: String; + level: String; + positionFormalManage: String; + positionManage: String; + numberPosition: String; + government: String; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns }; diff --git a/src/modules/03_recruiting/interface/request/Period.ts b/src/modules/03_recruiting/interface/request/Period.ts new file mode 100644 index 000000000..5bf1bf3b2 --- /dev/null +++ b/src/modules/03_recruiting/interface/request/Period.ts @@ -0,0 +1,89 @@ +//ข้อมูล +interface RequestPeriodExam { + announcementDate: string; + announcementEndDate: string; + announcementStartDate: string; + examDate: string; + announcementExam: boolean; + bankExam: RequestPayment[]; + checkDisability: boolean; + checkDocument: boolean; + detail: string; + fee: number; + id: string; + isActive: boolean; + name: string; + note: string; + organizationCodeId: string; + organizationCodeName: string; + organizationId: string; + organizationName: string; + paymentEndDate: string; + paymentKrungThai: string; + paymentStartDate: string; + positionExam: RequestPosition[]; + registerEndDate: string; + registerStartDate: string; + round: number; + year: number; + category: string; +} + +interface RequestPeriodCompete { + announcementEndDate: string; + announcementStartDate: string; + examDate: string; + detail: string; + fee: number; + id: string; + name: string; + note: string; + paymentEndDate: string; + paymentStartDate: string; + registerEndDate: string; + registerStartDate: string; + order: number; + year: number; + announcementDate: string; +} + +interface RequestPeriodDisable { + announcementEndDate: string; + announcementStartDate: string; + examDate: string; + detail: string; + fee: number; + id: string; + name: string; + note: string; + paymentEndDate: string; + paymentStartDate: string; + registerEndDate: string; + registerStartDate: string; + round: number; + year: number; + announcementDate: string; +} + +interface RequestPosition { + id: string; + positionId: string; + positionName: string; + typeId: string; + typeName: string; +} + +interface RequestPayment { + id: string; + accountNumber: string; + bankName: string; + accountName: string; +} + +export type { + RequestPeriodExam, + RequestPosition, + RequestPayment, + RequestPeriodCompete, + RequestPeriodDisable, +}; diff --git a/src/modules/03_recruiting/interface/response/Career.ts b/src/modules/03_recruiting/interface/response/Career.ts new file mode 100644 index 000000000..7b77fb2ae --- /dev/null +++ b/src/modules/03_recruiting/interface/response/Career.ts @@ -0,0 +1,12 @@ +//ข้อมูล +interface ResponseObject { + id: string; + name: string; + position: string; + salary: number | null; + durationStart: Date; + durationEnd: Date; + reason: string; +} + +export type { ResponseObject }; diff --git a/src/modules/03_recruiting/interface/response/Education.ts b/src/modules/03_recruiting/interface/response/Education.ts new file mode 100644 index 000000000..60bb5ba4c --- /dev/null +++ b/src/modules/03_recruiting/interface/response/Education.ts @@ -0,0 +1,13 @@ +//ข้อมูล +interface ResponseObject { + id: string; + educationLevelId: string; + educationLevelName: string; + major: string; + scores: number | null; + name: string; + durationStart: Date; + durationEnd: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/03_recruiting/interface/response/Main.ts b/src/modules/03_recruiting/interface/response/Main.ts new file mode 100644 index 000000000..6771a73d2 --- /dev/null +++ b/src/modules/03_recruiting/interface/response/Main.ts @@ -0,0 +1,17 @@ +//ข้อมูล +interface ResponseObject { + id: number; + fullname: String; + avatar: String; + citizenId: String; + position: String; + line: String; + linePosition: String; + level: String; + positionFormalManage: String; + positionManage: String; + numberPosition: String; + government: String; +} + +export type { ResponseObject }; diff --git a/src/modules/03_recruiting/interface/response/Period.ts b/src/modules/03_recruiting/interface/response/Period.ts new file mode 100644 index 000000000..a20bc3725 --- /dev/null +++ b/src/modules/03_recruiting/interface/response/Period.ts @@ -0,0 +1,113 @@ +//ข้อมูล +interface ResponseHistoryObject { + createdAt?: Date; + createdFullName: String; + createdUserId: String; + id: String; + isActive: Boolean; + lastUpdateFullName: String; + lastUpdateUserId: String; + lastUpdatedAt?: Date; + description: String; +} + +interface ResponsePeriodExam { + id: string; + category: string; + announcementExam: boolean; + name: string; + checkDocument: boolean; + checkDisability: boolean; + round: number; + yearly: number; + fee: number; + dateAnnounce: Date; + dateAnnouncement: [Date, Date]; + dateExam: Date; + dateRegister: [Date, Date]; + datePayment: [Date, Date]; + organizationName: { + id: string; + name: string; + }; + organizationShortName: { + id: string; + name: string; + }; + positionExam: ResponsePosition[]; + pay: string; + bankExam: ResponsePayment[]; + editor: string; + note: string; +} +interface ResponsePosition { + id: string; + position: { + id: string; + name: string; + }; + type: { + id: string; + name: string; + }; +} +interface ResponsePayment { + id: string; + accountNumber: string; + bankName: string; + accountName: string; +} + +interface ResponseRecruitPeriod { + id: string; + name: string; + year: number; + order: number; + importDate: string; + examCount: number; + scoreImportDate: string; + scoreCount: number; + score: { + ID: string; + importYear: number; + importDate: string; + scoreCount: number; + }; +} + +interface RecruitDetailResponseHeader { + count: number; + pass: number; + notpass: number; +} + +interface RecruitDetailResponse { + examID: string; + profileID: string; + prefix: string; + fullName: string; + dateOfBirth: string; + gender: string; + major: string; + degree: string; + applyDate: string; + certificateIssueDate: string; + certificateNo: string; + examAttribute: string; + examScore: string; + examResult: string; + personName: string; + exam_name: string; + exam_order: string; + score_year: string; +} + +export type { + ResponsePeriodExam, + ResponsePosition, + ResponsePayment, + ResponseRecruitPeriod, + RecruitDetailResponseHeader, + RecruitDetailResponse, + ResponseHistoryObject, +}; diff --git a/src/modules/03_recruiting/router.ts b/src/modules/03_recruiting/router.ts new file mode 100644 index 000000000..223fee322 --- /dev/null +++ b/src/modules/03_recruiting/router.ts @@ -0,0 +1,265 @@ +/** + * Router ระบบการสรรหา (Recruiting) + */ + +const ImportData = () => + import("@/modules/03_recruiting/views/01_compete/ImportData.vue"); +const MainDetail = () => + import("@/modules/03_recruiting/views/01_compete/Detail.vue"); +const MainEx = () => + import("@/modules/03_recruiting/views/01_compete/DetailEx.vue"); +const Period = () => + import("@/modules/03_recruiting/views/01_compete/Period.vue"); +const PeriodStat = () => + import("@/modules/03_recruiting/views/01_compete/PeriodStat.vue"); +const PeriodAdd = () => + import("@/modules/03_recruiting/views/01_compete/PeriodAdd.vue"); +const QualifyPeriod = () => + import("@/modules/03_recruiting/views/02_qualify/Period.vue"); +const QualifyPeriodAdd = () => + import("@/modules/03_recruiting/views/02_qualify/PeriodAdd.vue"); +const QualifyPeriodStat = () => + import("@/modules/03_recruiting/views/02_qualify/PeriodStat.vue"); +const QualifyPeriodStatDisable = () => + import("@/modules/03_recruiting/views/02_qualify/PeriodStatDisable.vue"); +const MainDisableDetail = () => + import("@/modules/03_recruiting/views/02_qualify/DisableDetail.vue"); +const MainDisableEx = () => + import("@/modules/03_recruiting/views/02_qualify/DisableDetailEx.vue"); +const PeriodDisable = () => + import("@/modules/03_recruiting/views/02_qualify/DisablePeriod.vue"); +const PeriodDisableAdd = () => + import("@/modules/03_recruiting/views/02_qualify/DisablePeriodAdd.vue"); +const Manage = () => + import("@/modules/03_recruiting/views/02_qualify/Manage.vue"); +const ManageDetail = () => + import("@/modules/03_recruiting/views/02_qualify/manageDetail.vue"); +const ExamForm = () => + import("@/modules/03_recruiting/views/02_qualify/ExamForm.vue"); +const Payment = () => + import("@/modules/03_recruiting/views/02_qualify/Payment.vue"); +const EditorWeb = () => + import("@/modules/03_recruiting/views/03_editor/index.vue"); + +export default [ + { + path: "/compete/period", + name: "competePeriod", + component: Period, + meta: { + Auth: true, + Key: [8], + Role: "recruit", + }, + }, + { + path: "/compete/period/stat", + name: "competePeriodStat", + component: PeriodStat, + meta: { + Auth: true, + Key: [8], + Role: "recruit", + }, + }, + { + path: "/compete/period/add", + name: "competePeriodAdd", + component: PeriodAdd, + meta: { + Auth: true, + Key: [8], + Role: "recruit", + }, + }, + { + path: "/compete/period/:id", + name: "competePeriodEdit", + component: PeriodAdd, + meta: { + Auth: true, + Key: [8], + Role: "recruit", + }, + }, + { + path: "/compete/import", + name: "recruiting", + component: ImportData, + meta: { + Auth: true, + Key: [7], + Role: "recruit", + }, + }, + { + path: "/compete/import/:id", + name: "recruitingDetail", + component: MainDetail, + meta: { + Auth: true, + Key: [7], + Role: "recruit", + }, + }, + { + path: "/compete/import/:id/:examId", + name: "recruitingDetailEx", + component: MainEx, + meta: { + Auth: true, + Key: [7], + Role: "recruit", + }, + }, + { + path: "/qualify/period", + name: "qualifyPeriod", + component: QualifyPeriod, + meta: { + Auth: true, + Key: [10], + Role: "recruit", + }, + }, + { + path: "/qualify/period/:id", + name: "qualifyPeriodEdit", + component: QualifyPeriodAdd, + meta: { + Auth: true, + Key: [7], + Role: "recruit", + }, + }, + { + path: "/qualify/period/add", + name: "qualifyPeriodAdd", + component: QualifyPeriodAdd, + meta: { + Auth: true, + Key: [10], + Role: "recruit", + }, + }, + { + path: "/qualify/period/stat", + name: "qualifyPeriodStat", + component: QualifyPeriodStat, + meta: { + Auth: true, + Key: [8], + Role: "recruit", + }, + }, + { + path: "/qualify/disable/stat", + name: "qualifyPeriodStatDisable", + component: QualifyPeriodStatDisable, + meta: { + Auth: true, + Key: [8], + Role: "recruit", + }, + }, + { + path: "/qualify/manage", + name: "manage", + component: Manage, + meta: { + Auth: true, + Key: [9], + Role: "recruit", + }, + }, + { + path: "/qualify/manage/:examId", + name: "manageDetaill", + component: ManageDetail, + meta: { + Auth: true, + Key: [9], + Role: "recruit", + }, + }, + { + path: "/qualify/manage/:examId/profile/:candidateId", + name: "ExamForm", + component: ExamForm, + meta: { + Auth: true, + Key: [9], + Role: "recruit", + }, + }, + { + path: "/qualify/manage/:examId/payment/:candidateId", + name: "Payment", + component: Payment, + meta: { + Auth: true, + Key: [9], + Role: "recruit", + }, + }, + { + path: "/disable/period", + name: "disablePeriod", + component: PeriodDisable, + meta: { + Auth: true, + Key: [8], + Role: "recruit", + }, + }, + { + path: "/disable/period/add", + name: "disablePeriodAdd", + component: PeriodDisableAdd, + meta: { + Auth: true, + Key: [8], + Role: "recruit", + }, + }, + { + path: "/disable/period/:id", + name: "disablePeriodEdit", + component: PeriodDisableAdd, + meta: { + Auth: true, + Key: [8], + Role: "recruit", + }, + }, + { + path: "/disable/import/:id", + name: "disableDetail", + component: MainDisableDetail, + meta: { + Auth: true, + Key: [7], + Role: "recruit", + }, + }, + { + path: "/disable/import/:id/:examId", + name: "disableDetailEx", + component: MainDisableEx, + meta: { + Auth: true, + Key: [7], + Role: "recruit", + }, + }, + { + path: "/editor", + name: "editorweb", + component: EditorWeb, + meta: { + Auth: true, + Key: [11], + Role: "recruit", + }, + }, +]; diff --git a/src/modules/03_recruiting/store.ts b/src/modules/03_recruiting/store.ts new file mode 100644 index 000000000..d238c7921 --- /dev/null +++ b/src/modules/03_recruiting/store.ts @@ -0,0 +1,42 @@ +import { ref, computed } from 'vue' +import { defineStore } from 'pinia' + +export const useExamDataStore = defineStore('exam', () => { + interface exam { + main: { columns: String[] } + education: { columns: String[] } + career: { columns: String[] } + } + + const examData = ref({ + main: { columns: [] }, + education: { columns: [] }, + career: { columns: [] } + }) + + const consend = ref(false) + const status = ref('') + + const changeExamColumns = (system: String, val: String[]) => { + if (system == 'main') examData.value.main.columns = val + if (system == 'education') examData.value.education.columns = val + if (system == 'career') examData.value.career.columns = val + localStorage.setItem('exam', JSON.stringify(examData.value)) + } + + if (localStorage.getItem('exam') !== null) { + examData.value = JSON.parse(localStorage.getItem('exam') || '{}') + } + + const changeStatus = (val: string) => { + status.value = val + } + + return { + examData, + changeExamColumns, + consend, + status, + changeStatus + } +}) diff --git a/src/modules/03_recruiting/views/01_compete/Detail.vue b/src/modules/03_recruiting/views/01_compete/Detail.vue new file mode 100644 index 000000000..2dfbdf764 --- /dev/null +++ b/src/modules/03_recruiting/views/01_compete/Detail.vue @@ -0,0 +1,421 @@ + + + + + diff --git a/src/modules/03_recruiting/views/01_compete/DetailEx.vue b/src/modules/03_recruiting/views/01_compete/DetailEx.vue new file mode 100644 index 000000000..e40b50e5f --- /dev/null +++ b/src/modules/03_recruiting/views/01_compete/DetailEx.vue @@ -0,0 +1,340 @@ + + + + + diff --git a/src/modules/03_recruiting/views/01_compete/ImportData.vue b/src/modules/03_recruiting/views/01_compete/ImportData.vue new file mode 100644 index 000000000..5d76551c9 --- /dev/null +++ b/src/modules/03_recruiting/views/01_compete/ImportData.vue @@ -0,0 +1,213 @@ + + + + + diff --git a/src/modules/03_recruiting/views/01_compete/Period.vue b/src/modules/03_recruiting/views/01_compete/Period.vue new file mode 100644 index 000000000..8b5a2528e --- /dev/null +++ b/src/modules/03_recruiting/views/01_compete/Period.vue @@ -0,0 +1,767 @@ + + + + + diff --git a/src/modules/03_recruiting/views/01_compete/PeriodAdd.vue b/src/modules/03_recruiting/views/01_compete/PeriodAdd.vue new file mode 100644 index 000000000..65fa88c12 --- /dev/null +++ b/src/modules/03_recruiting/views/01_compete/PeriodAdd.vue @@ -0,0 +1,987 @@ + + + + + diff --git a/src/modules/03_recruiting/views/01_compete/PeriodStat.vue b/src/modules/03_recruiting/views/01_compete/PeriodStat.vue new file mode 100644 index 000000000..3bfe427ab --- /dev/null +++ b/src/modules/03_recruiting/views/01_compete/PeriodStat.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/src/modules/03_recruiting/views/02_qualify/DisableDetail.vue b/src/modules/03_recruiting/views/02_qualify/DisableDetail.vue new file mode 100644 index 000000000..66d0f4751 --- /dev/null +++ b/src/modules/03_recruiting/views/02_qualify/DisableDetail.vue @@ -0,0 +1,424 @@ + + + + + diff --git a/src/modules/03_recruiting/views/02_qualify/DisableDetailEx.vue b/src/modules/03_recruiting/views/02_qualify/DisableDetailEx.vue new file mode 100644 index 000000000..402f654b5 --- /dev/null +++ b/src/modules/03_recruiting/views/02_qualify/DisableDetailEx.vue @@ -0,0 +1,353 @@ + + + + + diff --git a/src/modules/03_recruiting/views/02_qualify/DisablePeriod.vue b/src/modules/03_recruiting/views/02_qualify/DisablePeriod.vue new file mode 100644 index 000000000..61a595875 --- /dev/null +++ b/src/modules/03_recruiting/views/02_qualify/DisablePeriod.vue @@ -0,0 +1,762 @@ + + + + + diff --git a/src/modules/03_recruiting/views/02_qualify/DisablePeriodAdd.vue b/src/modules/03_recruiting/views/02_qualify/DisablePeriodAdd.vue new file mode 100644 index 000000000..e3526cb0f --- /dev/null +++ b/src/modules/03_recruiting/views/02_qualify/DisablePeriodAdd.vue @@ -0,0 +1,962 @@ + + + + + diff --git a/src/modules/03_recruiting/views/02_qualify/ExamForm.vue b/src/modules/03_recruiting/views/02_qualify/ExamForm.vue new file mode 100644 index 000000000..1f8ee5efa --- /dev/null +++ b/src/modules/03_recruiting/views/02_qualify/ExamForm.vue @@ -0,0 +1,345 @@ + + + + + + diff --git a/src/modules/03_recruiting/views/02_qualify/Manage.vue b/src/modules/03_recruiting/views/02_qualify/Manage.vue new file mode 100644 index 000000000..ad5a4af3a --- /dev/null +++ b/src/modules/03_recruiting/views/02_qualify/Manage.vue @@ -0,0 +1,245 @@ + + + + + diff --git a/src/modules/03_recruiting/views/02_qualify/Payment.vue b/src/modules/03_recruiting/views/02_qualify/Payment.vue new file mode 100644 index 000000000..3891cea5f --- /dev/null +++ b/src/modules/03_recruiting/views/02_qualify/Payment.vue @@ -0,0 +1,386 @@ + + diff --git a/src/modules/03_recruiting/views/02_qualify/Period.vue b/src/modules/03_recruiting/views/02_qualify/Period.vue new file mode 100644 index 000000000..df5427647 --- /dev/null +++ b/src/modules/03_recruiting/views/02_qualify/Period.vue @@ -0,0 +1,368 @@ + + + + + diff --git a/src/modules/03_recruiting/views/02_qualify/PeriodAdd.vue b/src/modules/03_recruiting/views/02_qualify/PeriodAdd.vue new file mode 100644 index 000000000..63b045828 --- /dev/null +++ b/src/modules/03_recruiting/views/02_qualify/PeriodAdd.vue @@ -0,0 +1,1539 @@ + + + + + diff --git a/src/modules/03_recruiting/views/02_qualify/PeriodStat.vue b/src/modules/03_recruiting/views/02_qualify/PeriodStat.vue new file mode 100644 index 000000000..d14f28c78 --- /dev/null +++ b/src/modules/03_recruiting/views/02_qualify/PeriodStat.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/src/modules/03_recruiting/views/02_qualify/PeriodStatDisable.vue b/src/modules/03_recruiting/views/02_qualify/PeriodStatDisable.vue new file mode 100644 index 000000000..22dee9cb3 --- /dev/null +++ b/src/modules/03_recruiting/views/02_qualify/PeriodStatDisable.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/src/modules/03_recruiting/views/02_qualify/manageDetail.vue b/src/modules/03_recruiting/views/02_qualify/manageDetail.vue new file mode 100644 index 000000000..82e855411 --- /dev/null +++ b/src/modules/03_recruiting/views/02_qualify/manageDetail.vue @@ -0,0 +1,661 @@ + + diff --git a/src/modules/03_recruiting/views/03_editor/index.vue b/src/modules/03_recruiting/views/03_editor/index.vue new file mode 100644 index 000000000..8f372fe5e --- /dev/null +++ b/src/modules/03_recruiting/views/03_editor/index.vue @@ -0,0 +1,1188 @@ + + + diff --git a/src/modules/04_registry/components/Assessment.vue b/src/modules/04_registry/components/Assessment.vue new file mode 100644 index 000000000..7825ba62f --- /dev/null +++ b/src/modules/04_registry/components/Assessment.vue @@ -0,0 +1,677 @@ + + + + diff --git a/src/modules/04_registry/components/Coin.vue b/src/modules/04_registry/components/Coin.vue new file mode 100644 index 000000000..84089f940 --- /dev/null +++ b/src/modules/04_registry/components/Coin.vue @@ -0,0 +1,688 @@ + + + + diff --git a/src/modules/04_registry/components/DialogFooter.vue b/src/modules/04_registry/components/DialogFooter.vue new file mode 100644 index 000000000..c7b6623b4 --- /dev/null +++ b/src/modules/04_registry/components/DialogFooter.vue @@ -0,0 +1,135 @@ + + diff --git a/src/modules/04_registry/components/DialogHeader.vue b/src/modules/04_registry/components/DialogHeader.vue new file mode 100644 index 000000000..8aa03351d --- /dev/null +++ b/src/modules/04_registry/components/DialogHeader.vue @@ -0,0 +1,27 @@ + + diff --git a/src/modules/04_registry/components/DialogHistory.vue b/src/modules/04_registry/components/DialogHistory.vue new file mode 100644 index 000000000..eeb90a358 --- /dev/null +++ b/src/modules/04_registry/components/DialogHistory.vue @@ -0,0 +1,45 @@ + + diff --git a/src/modules/04_registry/components/Discipline.vue b/src/modules/04_registry/components/Discipline.vue new file mode 100644 index 000000000..f4f0e8fd2 --- /dev/null +++ b/src/modules/04_registry/components/Discipline.vue @@ -0,0 +1,883 @@ + + + + diff --git a/src/modules/04_registry/components/Document.vue b/src/modules/04_registry/components/Document.vue new file mode 100644 index 000000000..059cec010 --- /dev/null +++ b/src/modules/04_registry/components/Document.vue @@ -0,0 +1,264 @@ + + diff --git a/src/modules/04_registry/components/Education.vue b/src/modules/04_registry/components/Education.vue new file mode 100644 index 000000000..c73e11aa6 --- /dev/null +++ b/src/modules/04_registry/components/Education.vue @@ -0,0 +1,1379 @@ + + + + diff --git a/src/modules/04_registry/components/Information/Address.vue b/src/modules/04_registry/components/Information/Address.vue new file mode 100644 index 000000000..f1e10afba --- /dev/null +++ b/src/modules/04_registry/components/Information/Address.vue @@ -0,0 +1,833 @@ + + diff --git a/src/modules/04_registry/components/Information/Certicate.vue b/src/modules/04_registry/components/Information/Certicate.vue new file mode 100644 index 000000000..721bf17c0 --- /dev/null +++ b/src/modules/04_registry/components/Information/Certicate.vue @@ -0,0 +1,826 @@ + + + + diff --git a/src/modules/04_registry/components/Information/Family.vue b/src/modules/04_registry/components/Information/Family.vue new file mode 100644 index 000000000..b80ff9ede --- /dev/null +++ b/src/modules/04_registry/components/Information/Family.vue @@ -0,0 +1,1090 @@ + + diff --git a/src/modules/04_registry/components/Information/Government.vue b/src/modules/04_registry/components/Information/Government.vue new file mode 100644 index 000000000..816a85236 --- /dev/null +++ b/src/modules/04_registry/components/Information/Government.vue @@ -0,0 +1,703 @@ + + diff --git a/src/modules/04_registry/components/Information/Information.vue b/src/modules/04_registry/components/Information/Information.vue new file mode 100644 index 000000000..a5f177cd3 --- /dev/null +++ b/src/modules/04_registry/components/Information/Information.vue @@ -0,0 +1,983 @@ + + diff --git a/src/modules/04_registry/components/Information/layout.vue b/src/modules/04_registry/components/Information/layout.vue new file mode 100644 index 000000000..63f73ebce --- /dev/null +++ b/src/modules/04_registry/components/Information/layout.vue @@ -0,0 +1,62 @@ + + diff --git a/src/modules/04_registry/components/Information/top.vue b/src/modules/04_registry/components/Information/top.vue new file mode 100644 index 000000000..05f0c1582 --- /dev/null +++ b/src/modules/04_registry/components/Information/top.vue @@ -0,0 +1,167 @@ + + + diff --git a/src/modules/04_registry/components/Insignia.vue b/src/modules/04_registry/components/Insignia.vue new file mode 100644 index 000000000..641800865 --- /dev/null +++ b/src/modules/04_registry/components/Insignia.vue @@ -0,0 +1,1198 @@ + + + + diff --git a/src/modules/04_registry/components/Leave.vue b/src/modules/04_registry/components/Leave.vue new file mode 100644 index 000000000..7bebbce50 --- /dev/null +++ b/src/modules/04_registry/components/Leave.vue @@ -0,0 +1,1136 @@ + + + + diff --git a/src/modules/04_registry/components/Other.vue b/src/modules/04_registry/components/Other.vue new file mode 100644 index 000000000..9dd6f1094 --- /dev/null +++ b/src/modules/04_registry/components/Other.vue @@ -0,0 +1,614 @@ + + + diff --git a/src/modules/04_registry/components/Profile.vue b/src/modules/04_registry/components/Profile.vue new file mode 100644 index 000000000..c0436758b --- /dev/null +++ b/src/modules/04_registry/components/Profile.vue @@ -0,0 +1,903 @@ + + + diff --git a/src/modules/04_registry/components/Record.vue b/src/modules/04_registry/components/Record.vue new file mode 100644 index 000000000..326ebe953 --- /dev/null +++ b/src/modules/04_registry/components/Record.vue @@ -0,0 +1,675 @@ + + + + diff --git a/src/modules/04_registry/components/Salary.vue b/src/modules/04_registry/components/Salary.vue new file mode 100644 index 000000000..55ada9f01 --- /dev/null +++ b/src/modules/04_registry/components/Salary.vue @@ -0,0 +1,1959 @@ + + + + diff --git a/src/modules/04_registry/components/Table.vue b/src/modules/04_registry/components/Table.vue new file mode 100644 index 000000000..14f3dba89 --- /dev/null +++ b/src/modules/04_registry/components/Table.vue @@ -0,0 +1,201 @@ + + + diff --git a/src/modules/04_registry/components/TableProfile.vue b/src/modules/04_registry/components/TableProfile.vue new file mode 100644 index 000000000..778e2f88a --- /dev/null +++ b/src/modules/04_registry/components/TableProfile.vue @@ -0,0 +1,443 @@ + + + diff --git a/src/modules/04_registry/components/Talent.vue b/src/modules/04_registry/components/Talent.vue new file mode 100644 index 000000000..7c3afca32 --- /dev/null +++ b/src/modules/04_registry/components/Talent.vue @@ -0,0 +1,846 @@ + + + diff --git a/src/modules/04_registry/components/Train.vue b/src/modules/04_registry/components/Train.vue new file mode 100644 index 000000000..822494e7b --- /dev/null +++ b/src/modules/04_registry/components/Train.vue @@ -0,0 +1,1124 @@ + + + + diff --git a/src/modules/04_registry/components/Work.vue b/src/modules/04_registry/components/Work.vue new file mode 100644 index 000000000..52dac440d --- /dev/null +++ b/src/modules/04_registry/components/Work.vue @@ -0,0 +1,757 @@ + + + + diff --git a/src/modules/04_registry/components/profileType.ts b/src/modules/04_registry/components/profileType.ts new file mode 100644 index 000000000..44e64abeb --- /dev/null +++ b/src/modules/04_registry/components/profileType.ts @@ -0,0 +1,171 @@ +//interface class array object {name string ,id number} + +import type { childrenFamily } from "@/modules/04_registry/interface/response/Family"; +interface ChangeActive { + name: string; + id: number; +} + +//ข้อมูลส่วนตัว +interface Information { + cardid: string | null; + prefix: string | null; + age: string | null; + prefixId: string | null; + firstname: string | null; + lastname: string | null; + birthDate: Date; + genderId: string | null; + bloodId: string | null; + nationality: string | null; + ethnicity: string | null; + statusId: string | null; + religionId: string | null; + tel: string | null; + employeeType: string | null; + employeeClass: string | null; + profileType: string | null; +} + +interface Family { + prefixC: string | null; // couple + prefixIdC: string | null; + firstnameC: string | null; + lastnameC: string | null; + lastnameCOld: string | null; + occupationC: string | null; + prefixM: string | null; // male + prefixIdM: string | null; + firstnameM: string | null; + lastnameM: string | null; + occupationM: string | null; + prefixF: string | null; // female + prefixIdF: string | null; + firstnameF: string | null; + lastnameF: string | null; + occupationF: string | null; + same: string | null; + childrens: childrenFamily[]; +} + +interface Address { + address: string | null; + provinceId: string | null; + districtId: string | null; + subdistrictId: string | null; + addressC: string | null; + provinceIdC: string | null; + districtIdC: string | null; + subdistrictIdC: string | null; + same: string | null; +} + +interface Goverment { + ocId: string | null; + positionId: string | null; + workId: string | null; + typeId: string | null; + levelId: string | null; + numberId: string | null; + businessId: string | null; + containDate: Date; + workDate: Date; + retireDate: string | null; + absent: number | null; + age: number | null; + ageAll: string | null; + reasonSameDate: string | null; +} + +interface DataOption { + id: string; + name: string; + zipCode?: string; +} + +interface zipCodeOption { + id: string; + name: string; + zipCode: string; +} + +const defaultGoverment: Goverment = { + ocId: null, + positionId: null, + workId: null, + typeId: null, + levelId: null, + numberId: null, + businessId: null, + containDate: new Date(), + workDate: new Date(), + retireDate: null, + absent: 0, + age: 0, + ageAll: null, + reasonSameDate: null, +}; + +const defaultAddress: Address = { + address: null, + provinceId: null, + districtId: null, + subdistrictId: null, + addressC: null, + provinceIdC: null, + districtIdC: null, + subdistrictIdC: null, + same: "0", +}; + +const defaultInformation: Information = { + cardid: null, + age: null, + prefix: null, + prefixId: null, + firstname: null, + lastname: null, + birthDate: new Date(), + genderId: null, + bloodId: null, + nationality: null, + ethnicity: null, + statusId: null, + religionId: null, + tel: null, + employeeType: null, + employeeClass: null, + profileType: null, +}; + +const defaultFamily: Family = { + prefixC: null, + prefixIdC: null, + firstnameC: null, + lastnameC: null, + lastnameCOld: null, + occupationC: null, + prefixM: null, + prefixIdM: null, + firstnameM: null, + lastnameM: null, + occupationM: null, + prefixF: null, + prefixIdF: null, + firstnameF: null, + lastnameF: null, + occupationF: null, + same: "0", + childrens: [], +}; + +export { defaultInformation, defaultFamily, defaultAddress, defaultGoverment }; +export type { + ChangeActive, + Information, + Family, + Address, + Goverment, + DataOption, + zipCodeOption, +}; diff --git a/src/modules/04_registry/interface/index/Main.ts b/src/modules/04_registry/interface/index/Main.ts new file mode 100644 index 000000000..adb1232b6 --- /dev/null +++ b/src/modules/04_registry/interface/index/Main.ts @@ -0,0 +1,70 @@ +import type { zipCodeOption } from "../../components/profileType"; +interface Pagination { + rowsPerPage: number; +} + +interface DataOption { + id: string; + name: string; + disable?: boolean; +} + +interface DataOptionInsignia { + id: string; + name: string; + typeName: string; +} + +interface treeTab { + id: string; + label: string; + children: treeTab[]; +} + +interface InformationOps { + prefixOps: DataOption[]; + genderOps: DataOption[]; + bloodOps: DataOption[]; + statusOps: DataOption[]; + religionOps: DataOption[]; + employeeClassOps: DataOption[]; + employeeTypeOps: DataOption[]; +} + +interface AddressOps { + provinceOps: DataOption[]; + districtOps: DataOption[]; + districtCOps: DataOption[]; + subdistrictOps: zipCodeOption[]; + subdistrictCOps: zipCodeOption[]; +} + +interface FamilyOps { + prefixOps: DataOption[]; +} + +interface EduOps { + levelOptions: DataOption[]; + positionPathOptions: DataOption[]; +} + +interface InsigniaOps { + insigniaOptions: DataOptionInsignia[]; +} + +interface DisciplineOps { + levelOptions: DataOption[]; +} + +export type { + Pagination, + DataOption, + DataOptionInsignia, + treeTab, + InformationOps, + AddressOps, + FamilyOps, + EduOps, + InsigniaOps, + DisciplineOps, +}; diff --git a/src/modules/04_registry/interface/request/Address.ts b/src/modules/04_registry/interface/request/Address.ts new file mode 100644 index 000000000..f8cff7753 --- /dev/null +++ b/src/modules/04_registry/interface/request/Address.ts @@ -0,0 +1,55 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + currentAddress: String | null; + currentDistrictId: String | null; + currentProvinceId: String | null; + currentSubDistrictId: String | null; + currentZipCode: String | null; + registrationAddress: String | null; + registrationDistrictId: String | null; + registrationProvinceId: String | null; + registrationSame: Boolean | null; + registrationSubDistrictId: String | null; + registrationZipCode: String | null; +} + +interface RequestItemsHistoryObject { + currentAddress: String | null; + currentDistrict: String | null; + currentProvince: String | null; + currentSubDistrict: String | null; + currentZipCode: String | null; + registrationAddress: String | null; + registrationDistrict: String | null; + registrationProvince: String | null; + registrationSame: Boolean | null; + registrationSubDistrict: String | null; + registrationZipCode: String | null; + createdFullName: String | null; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsObject, + Columns, + DataProps, + RequestItemsHistoryObject, +}; diff --git a/src/modules/04_registry/interface/request/Assessment.ts b/src/modules/04_registry/interface/request/Assessment.ts new file mode 100644 index 000000000..2a407ba5c --- /dev/null +++ b/src/modules/04_registry/interface/request/Assessment.ts @@ -0,0 +1,29 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + point: number; + name: string; + date: Date; + createdFullName: string; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/request/Certificate.ts b/src/modules/04_registry/interface/request/Certificate.ts new file mode 100644 index 000000000..a1df312c3 --- /dev/null +++ b/src/modules/04_registry/interface/request/Certificate.ts @@ -0,0 +1,31 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + certificateNo: string; + issuer: string; + issueDate: Date; + expireDate: Date; + certificateType: string; + createdFullName: string; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/request/Coin.ts b/src/modules/04_registry/interface/request/Coin.ts new file mode 100644 index 000000000..a4ae439f3 --- /dev/null +++ b/src/modules/04_registry/interface/request/Coin.ts @@ -0,0 +1,29 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + issuer: string; + detail: string; + issueDate: Date; + createdFullName: string; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/request/Discipline.ts b/src/modules/04_registry/interface/request/Discipline.ts new file mode 100644 index 000000000..f9efd0107 --- /dev/null +++ b/src/modules/04_registry/interface/request/Discipline.ts @@ -0,0 +1,31 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + level: string; + detail: string; + refCommandNo: string; + refCommandDate: Date; + date: Date; + createdFullName: string; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/request/Document.ts b/src/modules/04_registry/interface/request/Document.ts new file mode 100644 index 000000000..9e1c21855 --- /dev/null +++ b/src/modules/04_registry/interface/request/Document.ts @@ -0,0 +1,19 @@ +//ข้อมูล +interface RequestItemsObject { + name: String; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns }; diff --git a/src/modules/04_registry/interface/request/Education.ts b/src/modules/04_registry/interface/request/Education.ts new file mode 100644 index 000000000..eb0270198 --- /dev/null +++ b/src/modules/04_registry/interface/request/Education.ts @@ -0,0 +1,42 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + level: string; + levelId: string; + positionPath: string; + positionPathId: string; + institute: string; + degree: string; + field: string; + gpa: string; + country: string; + duration: string; + durationYear: number; + other: string; + fundName: string; + finishDate: Date; + startDate: number; + endDate: number; + createdFullName: string; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/request/Family.ts b/src/modules/04_registry/interface/request/Family.ts new file mode 100644 index 000000000..334f2e81b --- /dev/null +++ b/src/modules/04_registry/interface/request/Family.ts @@ -0,0 +1,29 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + date: Date; + status: string; + level: string; + refNo: string; + refDate: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/request/Government.ts b/src/modules/04_registry/interface/request/Government.ts new file mode 100644 index 000000000..78871ae4e --- /dev/null +++ b/src/modules/04_registry/interface/request/Government.ts @@ -0,0 +1,53 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + date: Date; + status: string; + level: string; + refNo: string; + refDate: Date; +} + +interface RequestItemsHistoryObject { + oc: string | null; + position: string | null; + posNo: string | null; + positionLine: string | null; + positionType: string | null; + positionLevel: string | null; + positionExecutive: string | null; + dateAppoint: Date; + dateStart: Date; + retireDate: string | null; + govAge: string | null; + govAgeAbsent: string | null; + govAgePlus: string | null; + reasonSameDate: string | null; + createdFullName: string | null; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { + RequestItemsObject, + Columns, + DataProps, + RequestItemsHistoryObject, +}; diff --git a/src/modules/04_registry/interface/request/Information.ts b/src/modules/04_registry/interface/request/Information.ts new file mode 100644 index 000000000..39aac0621 --- /dev/null +++ b/src/modules/04_registry/interface/request/Information.ts @@ -0,0 +1,59 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + birthDate: Date | null; + bloodGroupId: string | null; + citizenId: string | null; + firstName: string | null; + genderId: string | null; + lastName: string | null; + nationality: string | null; + prefixId: string | null; + race: string | null; + relationshipId: string | null; + religionId: string | null; + telephoneNumber: string | null; + employeeType: string | null; + employeeClass: string | null; +} + +interface RequestItemsHistoryObject { + citizenId: string | null; + prefix: string | null; + firstName: string | null; + lastName: string | null; + birthDate: Date; + gender: string | null; + relationship: string | null; + bloodGroup: string | null; + nationality: string | null; + race: string | null; + religion: string | null; + telephoneNumber: string | null; + createdFullName: string | null; + createdAt: Date; + employeeType: string | null; + employeeClass: string | null; +} + +//columns +interface Columns { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; +} + +export type { + RequestItemsObject, + Columns, + DataProps, + RequestItemsHistoryObject, +}; diff --git a/src/modules/04_registry/interface/request/Insignia.ts b/src/modules/04_registry/interface/request/Insignia.ts new file mode 100644 index 000000000..8fa100368 --- /dev/null +++ b/src/modules/04_registry/interface/request/Insignia.ts @@ -0,0 +1,38 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + insigniaType: string; + insignia: string; + insigniaId: string; + year: number; + no: string; + issue: string; + volumeNo: string; + volume: string; + section: string; + page: string; + receiveDate: Date; + dateAnnounce: Date; + createdFullName: string; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/request/Leave.ts b/src/modules/04_registry/interface/request/Leave.ts new file mode 100644 index 000000000..af14c8123 --- /dev/null +++ b/src/modules/04_registry/interface/request/Leave.ts @@ -0,0 +1,38 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + year: number; + sickDay: number; + personalDay: number; + maternityDay: number; + wifeDay: number; + sickCount: number; + ordainDay: number; + absentDay: number; + studyDay: number; + agencyDay: number; + coupleDay: number; + therapyDay: number; + createdFullName: string; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/request/Main.ts b/src/modules/04_registry/interface/request/Main.ts new file mode 100644 index 000000000..20964b759 --- /dev/null +++ b/src/modules/04_registry/interface/request/Main.ts @@ -0,0 +1,34 @@ +//ข้อมูล +interface RequestItemsObject { + id: number; + fullname: String; + avatar: String; + citizenId: String; + // oc: String; + position: String; + numberPosition: String; + positionLine: String; + positionType: String; + govAge: number; + positionLevel: String; + positionExecutive: String; + dateAppoint: Date | null; + dateStart: Date | null; + createdAt: Date | null; + salaryDate: Date | null; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns }; diff --git a/src/modules/04_registry/interface/request/Other.ts b/src/modules/04_registry/interface/request/Other.ts new file mode 100644 index 000000000..90339caaa --- /dev/null +++ b/src/modules/04_registry/interface/request/Other.ts @@ -0,0 +1,28 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + date: Date; + detail: string; + createdFullName: string; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/request/Record.ts b/src/modules/04_registry/interface/request/Record.ts new file mode 100644 index 000000000..9dd8e20f5 --- /dev/null +++ b/src/modules/04_registry/interface/request/Record.ts @@ -0,0 +1,29 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + date: Date; + detail: string; + reference: string; + createdFullName: string; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/request/Salary.ts b/src/modules/04_registry/interface/request/Salary.ts new file mode 100644 index 000000000..ebe01ae56 --- /dev/null +++ b/src/modules/04_registry/interface/request/Salary.ts @@ -0,0 +1,50 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + date: Date; + amount: number; + positionSalaryAmount: number; + mouthSalaryAmount: number; + oc: string; + ocId: string; + position: string; + positionId: string; + posNo: string; + posNoId: string; + positionLine: string; + positionLineId: string; + positionPathSide: string; + positionPathSideId: string; + positionType: string; + positionTypeId: string; + positionLevel: string; + positionLevelId: string; + positionExecutive: string; + positionExecutiveId: string; + positionExecutiveSide: string; + positionExecutiveSideId: string; + salaryClass: string; + salaryRef: string; + createdFullName: string; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/request/Talent.ts b/src/modules/04_registry/interface/request/Talent.ts new file mode 100644 index 000000000..5fc664210 --- /dev/null +++ b/src/modules/04_registry/interface/request/Talent.ts @@ -0,0 +1,32 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + field: string; + detail: string; + remark: string; + dateStart: Date; + dateEnd: Date; + reference: string; + createdFullName: string; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/request/Train.ts b/src/modules/04_registry/interface/request/Train.ts new file mode 100644 index 000000000..6f0956578 --- /dev/null +++ b/src/modules/04_registry/interface/request/Train.ts @@ -0,0 +1,36 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + name: string; + topic: string; + yearly: number; + place: string; + duration: string; + department: string; + numberOrder: string; + dateOrder: Date; + startDate: Date; + endDate: Date; + createdFullName: string; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/request/Work.ts b/src/modules/04_registry/interface/request/Work.ts new file mode 100644 index 000000000..792ef7e43 --- /dev/null +++ b/src/modules/04_registry/interface/request/Work.ts @@ -0,0 +1,30 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + dateStart: Date; + dateEnd: Date; + detail: string; + reference: string; + createdFullName: string; + createdAt: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/04_registry/interface/response/Address.ts b/src/modules/04_registry/interface/response/Address.ts new file mode 100644 index 000000000..8769bd1b4 --- /dev/null +++ b/src/modules/04_registry/interface/response/Address.ts @@ -0,0 +1,34 @@ +//ข้อมูล +interface ResponseObject { + currentAddress: string | null; + currentDistrictId: string | null; + currentProvinceId: string | null; + currentSubDistrictId: string | null; + currentZipCode: string | null; + registrationAddress: string | null; + registrationDistrictId: string | null; + registrationProvinceId: string | null; + registrationSame: Boolean | null; + registrationSubDistrictId: string | null; + registrationZipCode: string | null; + createdFullName: string | null; + createdAt: Date; +} + +interface ResponseHistory { + currentAddress: string | null; + currentDistrictId: string | null; + currentProvinceId: string | null; + currentSubDistrictId: string | null; + currentZipCode: string | null; + registrationAddress: string | null; + registrationDistrictId: string | null; + registrationProvinceId: string | null; + registrationSame: string | null; + registrationSubDistrictId: string | null; + registrationZipCode: string | null; + createdFullName: string | null; + createdAt: Date; +} + +export type { ResponseObject, ResponseHistory }; diff --git a/src/modules/04_registry/interface/response/Assessment.ts b/src/modules/04_registry/interface/response/Assessment.ts new file mode 100644 index 000000000..849665ed1 --- /dev/null +++ b/src/modules/04_registry/interface/response/Assessment.ts @@ -0,0 +1,11 @@ +//ข้อมูล +interface ResponseObject { + id: string; + point: number; + name: string; + date: Date; + createdFullName: string; + createdAt: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Certificate.ts b/src/modules/04_registry/interface/response/Certificate.ts new file mode 100644 index 000000000..32756682e --- /dev/null +++ b/src/modules/04_registry/interface/response/Certificate.ts @@ -0,0 +1,13 @@ +//ข้อมูล +interface ResponseObject { + id: string; + certificateNo: string; + issuer: string; + issueDate: Date; + expireDate: Date; + certificateType: string; + createdFullName: string; + createdAt: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Coin.ts b/src/modules/04_registry/interface/response/Coin.ts new file mode 100644 index 000000000..0b2f50aeb --- /dev/null +++ b/src/modules/04_registry/interface/response/Coin.ts @@ -0,0 +1,11 @@ +//ข้อมูล +interface ResponseObject { + id: string; + issuer: string; + detail: string; + issueDate: Date; + createdFullName: string; + createdAt: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Discipline.ts b/src/modules/04_registry/interface/response/Discipline.ts new file mode 100644 index 000000000..37a3143cf --- /dev/null +++ b/src/modules/04_registry/interface/response/Discipline.ts @@ -0,0 +1,13 @@ +//ข้อมูล +interface ResponseObject { + id: string; + level: string; + detail: string; + refCommandNo: string; + refCommandDate: Date; + date: Date; + createdFullName: string; + createdAt: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Document.ts b/src/modules/04_registry/interface/response/Document.ts new file mode 100644 index 000000000..4365fe380 --- /dev/null +++ b/src/modules/04_registry/interface/response/Document.ts @@ -0,0 +1,6 @@ +//ข้อมูล +interface ResponseObject { + name: String; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Education.ts b/src/modules/04_registry/interface/response/Education.ts new file mode 100644 index 000000000..7dcd3bdf2 --- /dev/null +++ b/src/modules/04_registry/interface/response/Education.ts @@ -0,0 +1,24 @@ +//ข้อมูล +interface ResponseObject { + id: string; + educationLevel: string; + educationLevelId: string; + positionPath: string; + positionPathId: string; + institute: string; + degree: string; + field: string; + gpa: string; + country: string; + duration: string; + durationYear: number; + other: string; + fundName: string; + finishDate: Date; + startDate: number; + endDate: number; + createdFullName: string; + createdAt: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Family.ts b/src/modules/04_registry/interface/response/Family.ts new file mode 100644 index 000000000..626ca73cc --- /dev/null +++ b/src/modules/04_registry/interface/response/Family.ts @@ -0,0 +1,50 @@ +//ข้อมูล +interface ResponseObject { + couple: Boolean | null; + couplePrefixId: string | null; + coupleFirstName: string | null; + coupleLastName: string | null; + coupleLastNameOld: string | null; + coupleCareer: string | null; + fatherPrefixId: string | null; + fatherFirstName: string | null; + fatherLastName: string | null; + fatherCareer: string | null; + motherPrefixId: string | null; + motherFirstName: string | null; + motherLastName: string | null; + motherCareer: string | null; + createdFullName: string | null; + createdAt: Date; + childrens: childrenFamily[]; +} + +interface ResponseHistory { + couple: string | null; + couplePrefixId: string | null; + coupleFirstName: string | null; + coupleLastName: string | null; + coupleLastNameOld: string | null; + coupleCareer: string | null; + fatherPrefixId: string | null; + fatherFirstName: string | null; + fatherLastName: string | null; + fatherCareer: string | null; + motherPrefixId: string | null; + motherFirstName: string | null; + motherLastName: string | null; + motherCareer: string | null; + createdFullName: string | null; + createdAt: Date; + childrens: childrenFamily[]; +} + +interface childrenFamily { + id: string; + childrenPrefixId: string | null; + childrenFirstName: string | null; + childrenLastName: string | null; + childrenCareer: string | null; +} + +export type { ResponseObject, childrenFamily, ResponseHistory }; diff --git a/src/modules/04_registry/interface/response/Government.ts b/src/modules/04_registry/interface/response/Government.ts new file mode 100644 index 000000000..6bdafcdee --- /dev/null +++ b/src/modules/04_registry/interface/response/Government.ts @@ -0,0 +1,21 @@ +//ข้อมูล +interface ResponseObject { + oc: string | null; + business: string | null; + dateAppoint: Date | string; + dateStart: Date | string; + govAge: string | null; + govAgeAbsent: number | null; + govAgePlus: number | null; + level: string | null; + posNo: string | null; + position: string | null; + retireDate: string | null; + type: string | null; + work: string | null; + createdFullName: string | null; + createdAt: Date; + reasonSameDate: string | null; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Information.ts b/src/modules/04_registry/interface/response/Information.ts new file mode 100644 index 000000000..ecb93f462 --- /dev/null +++ b/src/modules/04_registry/interface/response/Information.ts @@ -0,0 +1,23 @@ +//ข้อมูล +interface ResponseObject { + birthDate: Date; + bloodGroupId: string | null; + citizenId: string | null; + firstName: string | null; + genderId: string | null; + lastName: string | null; + nationality: string | null; + prefixId: string | null; + race: string | null; + relationshipId: string | null; + religionId: string | null; + telephoneNumber: string | null; + createdFullName: string | null; + createdAt: Date; + age: string | null; + employeeType: string | null; + employeeClass: string | null; + profileType: string | null; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Insignia.ts b/src/modules/04_registry/interface/response/Insignia.ts new file mode 100644 index 000000000..d60b4e22d --- /dev/null +++ b/src/modules/04_registry/interface/response/Insignia.ts @@ -0,0 +1,20 @@ +//ข้อมูล +interface ResponseObject { + id: string; + insigniaType: string; + insignia: string; + insigniaId: string; + year: number; + no: string; + issue: string; + volumeNo: string; + volume: string; + section: string; + page: string; + receiveDate: Date; + dateAnnounce: Date; + createdFullName: string; + createdAt: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Leave.ts b/src/modules/04_registry/interface/response/Leave.ts new file mode 100644 index 000000000..3fb047069 --- /dev/null +++ b/src/modules/04_registry/interface/response/Leave.ts @@ -0,0 +1,20 @@ +//ข้อมูล +interface ResponseObject { + id: string; + year: number; + sickDay: number; + personalDay: number; + maternityDay: number; + wifeDay: number; + sickCount: number; + ordainDay: number; + absentDay: number; + studyDay: number; + agencyDay: number; + coupleDay: number; + therapyDay: number; + createdFullName: string; + createdAt: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Main.ts b/src/modules/04_registry/interface/response/Main.ts new file mode 100644 index 000000000..79441e8f6 --- /dev/null +++ b/src/modules/04_registry/interface/response/Main.ts @@ -0,0 +1,21 @@ +//ข้อมูล +interface ResponseObject { + id: number; + fullname: String; + avatar: String; + citizenId: String; + oc: String; + position: String; + posNo: String; + positionLine: String; + positionType: String; + govAge: number; + positionLevel: String; + positionExecutive: String; + dateAppoint: Date | null; + dateStart: Date | null; + createdAt: Date | null; + salaryDate: Date | null; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Other.ts b/src/modules/04_registry/interface/response/Other.ts new file mode 100644 index 000000000..7bce7e100 --- /dev/null +++ b/src/modules/04_registry/interface/response/Other.ts @@ -0,0 +1,10 @@ +//ข้อมูล +interface ResponseObject { + id: string; + date: Date; + detail: string; + createdFullName: string; + createdAt: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Record.ts b/src/modules/04_registry/interface/response/Record.ts new file mode 100644 index 000000000..c1c818f1b --- /dev/null +++ b/src/modules/04_registry/interface/response/Record.ts @@ -0,0 +1,11 @@ +//ข้อมูล +interface ResponseObject { + id: string; + date: Date; + detail: string; + reference: string; + createdFullName: string; + createdAt: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Salary.ts b/src/modules/04_registry/interface/response/Salary.ts new file mode 100644 index 000000000..34c6a95a1 --- /dev/null +++ b/src/modules/04_registry/interface/response/Salary.ts @@ -0,0 +1,32 @@ +//ข้อมูล +interface ResponseObject { + id: string; + date: Date; + amount: number; + positionSalaryAmount: number; + mouthSalaryAmount: number; + oc: string; + ocId: string; + position: string; + positionId: string; + posNo: string; + posNoId: string; + positionLine: string; + positionLineId: string; + positionPathSide: string; + positionPathSideId: string; + positionType: string; + positionTypeId: string; + positionLevel: string; + positionLevelId: string; + positionExecutive: string; + positionExecutiveId: string; + positionExecutiveSide: string; + positionExecutiveSideId: string; + salaryClass: string; + salaryRef: string; + createdFullName: string; + createdAt: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Talent.ts b/src/modules/04_registry/interface/response/Talent.ts new file mode 100644 index 000000000..dc8d5cd4e --- /dev/null +++ b/src/modules/04_registry/interface/response/Talent.ts @@ -0,0 +1,14 @@ +//ข้อมูล +interface ResponseObject { + id: string; + field: string; + detail: string; + remark: string; + dateStart: Date; + dateEnd: Date; + reference: string; + createdFullName: string; + createdAt: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Train.ts b/src/modules/04_registry/interface/response/Train.ts new file mode 100644 index 000000000..6cd0ebda2 --- /dev/null +++ b/src/modules/04_registry/interface/response/Train.ts @@ -0,0 +1,18 @@ +//ข้อมูล +interface ResponseObject { + id: string; + name: string; + topic: string; + yearly: number; + place: string; + duration: string; + department: string; + numberOrder: string; + dateOrder: Date; + startDate: Date; + endDate: Date; + createdFullName: string; + createdAt: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/interface/response/Work.ts b/src/modules/04_registry/interface/response/Work.ts new file mode 100644 index 000000000..a575f7811 --- /dev/null +++ b/src/modules/04_registry/interface/response/Work.ts @@ -0,0 +1,12 @@ +//ข้อมูล +interface ResponseObject { + id: string; + dateStart: Date; + dateEnd: Date; + detail: string; + reference: string; + createdFullName: string; + createdAt: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/04_registry/router.ts b/src/modules/04_registry/router.ts new file mode 100644 index 000000000..7f78516ff --- /dev/null +++ b/src/modules/04_registry/router.ts @@ -0,0 +1,29 @@ +/** + * Router ระบบทะเบียนประวัติ (Registry) + */ + +const Main = () => import("@/modules/04_registry/views/Main.vue"); +const Detail = () => import("@/modules/04_registry/components/Profile.vue"); + +export default [ + { + path: "/registry", + name: "registry", + component: Main, + meta: { + Auth: true, + Key: [7], + Role: "registry", + }, + }, + { + path: "/registry/:id", + name: "registryDetail", + component: Detail, + meta: { + Auth: true, + Key: [7], + Role: "registry", + }, + }, +]; diff --git a/src/modules/04_registry/store.ts b/src/modules/04_registry/store.ts new file mode 100644 index 000000000..4840f9d1f --- /dev/null +++ b/src/modules/04_registry/store.ts @@ -0,0 +1,80 @@ +import { ref, computed } from "vue"; +import { defineStore } from "pinia"; + +export const useProfileDataStore = defineStore("profile", () => { + interface profile { + main: { columns: String[] }; + education: { columns: String[] }; + certicate: { columns: String[] }; + train: { columns: String[] }; + insignia: { columns: String[] }; + coined: { columns: String[] }; + assessment: { columns: String[] }; + salary: { columns: String[] }; + discipline: { columns: String[] }; + leave: { columns: String[] }; + talent: { columns: String[] }; + work: { columns: String[] }; + record: { columns: String[] }; + other: { columns: String[] }; + document: { columns: String[] }; + } + + const birthDate = ref(new Date()); + const retireText = ref(null); + const changeRetireText = (val: string | null) => { + retireText.value = val; + }; + const changeBirth = (val: Date) => { + birthDate.value = val; + }; + const profileData = ref({ + main: { columns: [] }, + education: { columns: [] }, + certicate: { columns: [] }, + train: { columns: [] }, + insignia: { columns: [] }, + coined: { columns: [] }, + assessment: { columns: [] }, + salary: { columns: [] }, + discipline: { columns: [] }, + leave: { columns: [] }, + talent: { columns: [] }, + work: { columns: [] }, + record: { columns: [] }, + other: { columns: [] }, + document: { columns: [] }, + }); + + const changeProfileColumns = (system: String, val: String[]) => { + if (system == "main") profileData.value.main.columns = val; + if (system == "education") profileData.value.education.columns = val; + if (system == "certicate") profileData.value.certicate.columns = val; + if (system == "train") profileData.value.train.columns = val; + if (system == "insignia") profileData.value.insignia.columns = val; + if (system == "coined") profileData.value.coined.columns = val; + if (system == "assessment") profileData.value.assessment.columns = val; + if (system == "salary") profileData.value.salary.columns = val; + if (system == "discipline") profileData.value.discipline.columns = val; + if (system == "leave") profileData.value.leave.columns = val; + if (system == "talent") profileData.value.talent.columns = val; + if (system == "work") profileData.value.work.columns = val; + if (system == "record") profileData.value.record.columns = val; + if (system == "other") profileData.value.other.columns = val; + if (system == "document") profileData.value.document.columns = val; + localStorage.setItem("profile", JSON.stringify(profileData.value)); + }; + + if (localStorage.getItem("profile") !== null) { + profileData.value = JSON.parse(localStorage.getItem("profile") || "{}"); + } + + return { + profileData, + changeProfileColumns, + birthDate, + changeBirth, + retireText, + changeRetireText, + }; +}); diff --git a/src/modules/04_registry/views/Main.vue b/src/modules/04_registry/views/Main.vue new file mode 100644 index 000000000..67a7a0780 --- /dev/null +++ b/src/modules/04_registry/views/Main.vue @@ -0,0 +1,567 @@ + + + + + diff --git a/src/modules/05_placement/interface/index/Main.ts b/src/modules/05_placement/interface/index/Main.ts new file mode 100644 index 000000000..e4ea7770c --- /dev/null +++ b/src/modules/05_placement/interface/index/Main.ts @@ -0,0 +1 @@ +export type {}; diff --git a/src/modules/05_placement/interface/request/Main.ts b/src/modules/05_placement/interface/request/Main.ts new file mode 100644 index 000000000..e4ea7770c --- /dev/null +++ b/src/modules/05_placement/interface/request/Main.ts @@ -0,0 +1 @@ +export type {}; diff --git a/src/modules/05_placement/interface/response/Main.ts b/src/modules/05_placement/interface/response/Main.ts new file mode 100644 index 000000000..e4ea7770c --- /dev/null +++ b/src/modules/05_placement/interface/response/Main.ts @@ -0,0 +1 @@ +export type {}; diff --git a/src/modules/05_placement/router.ts b/src/modules/05_placement/router.ts new file mode 100644 index 000000000..1f907e4e5 --- /dev/null +++ b/src/modules/05_placement/router.ts @@ -0,0 +1,18 @@ +/** + * Router บรรจุ แต่งตั้ง ย้าย โอน (Placement) + */ + +const Main = () => import("@/modules/05_placement/views/Main.vue"); + +export default [ + { + path: "/placement", + name: "placement", + component: Main, + meta: { + Auth: true, + Key: [7], + Role: "placement", + }, + }, +]; diff --git a/src/modules/05_placement/store.ts b/src/modules/05_placement/store.ts new file mode 100644 index 000000000..ed479e584 --- /dev/null +++ b/src/modules/05_placement/store.ts @@ -0,0 +1,5 @@ +import { defineStore } from "pinia"; + +export const useProfileDataStore = defineStore("placement", () => { + return {}; +}); diff --git a/src/modules/05_placement/views/Main.vue b/src/modules/05_placement/views/Main.vue new file mode 100644 index 000000000..6b9ff61bf --- /dev/null +++ b/src/modules/05_placement/views/Main.vue @@ -0,0 +1,12 @@ + + + + + diff --git a/src/modules/06_retirement/interface/index/Main.ts b/src/modules/06_retirement/interface/index/Main.ts new file mode 100644 index 000000000..e4ea7770c --- /dev/null +++ b/src/modules/06_retirement/interface/index/Main.ts @@ -0,0 +1 @@ +export type {}; diff --git a/src/modules/06_retirement/interface/request/Main.ts b/src/modules/06_retirement/interface/request/Main.ts new file mode 100644 index 000000000..e4ea7770c --- /dev/null +++ b/src/modules/06_retirement/interface/request/Main.ts @@ -0,0 +1 @@ +export type {}; diff --git a/src/modules/06_retirement/interface/response/Main.ts b/src/modules/06_retirement/interface/response/Main.ts new file mode 100644 index 000000000..e4ea7770c --- /dev/null +++ b/src/modules/06_retirement/interface/response/Main.ts @@ -0,0 +1 @@ +export type {}; diff --git a/src/modules/06_retirement/router.ts b/src/modules/06_retirement/router.ts new file mode 100644 index 000000000..fea3f32d4 --- /dev/null +++ b/src/modules/06_retirement/router.ts @@ -0,0 +1,18 @@ +/** + * Router พ้นจากราชการ (Retirement) + */ + +const Main = () => import("@/modules/06_retirement/views/Main.vue"); + +export default [ + { + path: "/retirement", + name: "retirement", + component: Main, + meta: { + Auth: true, + Key: [7], + Role: "retirement", + }, + }, +]; diff --git a/src/modules/06_retirement/store.ts b/src/modules/06_retirement/store.ts new file mode 100644 index 000000000..aa81242e5 --- /dev/null +++ b/src/modules/06_retirement/store.ts @@ -0,0 +1,5 @@ +import { defineStore } from "pinia"; + +export const useRetirementDataStore = defineStore("retirement", () => { + return {}; +}); diff --git a/src/modules/06_retirement/views/Main.vue b/src/modules/06_retirement/views/Main.vue new file mode 100644 index 000000000..7ae53f4ff --- /dev/null +++ b/src/modules/06_retirement/views/Main.vue @@ -0,0 +1,10 @@ + + + + + diff --git a/src/modules/07_insignia/interface/index/Main.ts b/src/modules/07_insignia/interface/index/Main.ts new file mode 100644 index 000000000..e4ea7770c --- /dev/null +++ b/src/modules/07_insignia/interface/index/Main.ts @@ -0,0 +1 @@ +export type {}; diff --git a/src/modules/07_insignia/interface/request/Main.ts b/src/modules/07_insignia/interface/request/Main.ts new file mode 100644 index 000000000..e4ea7770c --- /dev/null +++ b/src/modules/07_insignia/interface/request/Main.ts @@ -0,0 +1 @@ +export type {}; diff --git a/src/modules/07_insignia/interface/response/Main.ts b/src/modules/07_insignia/interface/response/Main.ts new file mode 100644 index 000000000..e4ea7770c --- /dev/null +++ b/src/modules/07_insignia/interface/response/Main.ts @@ -0,0 +1 @@ +export type {}; diff --git a/src/modules/07_insignia/router.ts b/src/modules/07_insignia/router.ts new file mode 100644 index 000000000..20a41a5c3 --- /dev/null +++ b/src/modules/07_insignia/router.ts @@ -0,0 +1,18 @@ +/** + * Router เครื่องราชอิสริยาภรณ์ (insignia) + */ + +const Main = () => import("@/modules/07_insignia/views/Main.vue"); + +export default [ + { + path: "/insignia", + name: "insignia", + component: Main, + meta: { + Auth: true, + Key: [7], + Role: "insignia", + }, + }, +]; diff --git a/src/modules/07_insignia/store.ts b/src/modules/07_insignia/store.ts new file mode 100644 index 000000000..2e0d140be --- /dev/null +++ b/src/modules/07_insignia/store.ts @@ -0,0 +1,5 @@ +import { defineStore } from "pinia"; + +export const useInsigniaDataStore = defineStore("insignia", () => { + return {}; +}); diff --git a/src/modules/07_insignia/views/Main.vue b/src/modules/07_insignia/views/Main.vue new file mode 100644 index 000000000..e8e23c42e --- /dev/null +++ b/src/modules/07_insignia/views/Main.vue @@ -0,0 +1,12 @@ + + + + + diff --git a/src/plugins/FullLoader.vue b/src/plugins/FullLoader.vue new file mode 100644 index 000000000..0457e3ede --- /dev/null +++ b/src/plugins/FullLoader.vue @@ -0,0 +1,24 @@ + + + + + + diff --git a/src/plugins/axios.ts b/src/plugins/axios.ts new file mode 100644 index 000000000..79bba4e1f --- /dev/null +++ b/src/plugins/axios.ts @@ -0,0 +1,25 @@ +import axios from "axios" +import config from "process" +// import { dotnetPath } from "../path/axiosPath"; +// import { getToken } from "@baloise/vue-keycloak"; +import keycloak from "../plugins/keycloak" + +const axiosInstance = axios.create({ + withCredentials: false, +}) + +// axiosInstance.defaults.baseURL = dotnetPath; +axiosInstance.interceptors.request.use( + async (config) => { + const token = await keycloak.token + config.headers = { + Authorization: `Bearer ${token}`, + } + return config + }, + (error) => { + Promise.reject(error) + } +) + +export default axiosInstance diff --git a/src/plugins/http.ts b/src/plugins/http.ts new file mode 100644 index 000000000..494c9aa3f --- /dev/null +++ b/src/plugins/http.ts @@ -0,0 +1,45 @@ +import Axios, { type AxiosRequestConfig, type AxiosResponse } from "axios"; +import keycloak from "./keycloak"; + +const http = Axios.create({ + timeout: 1000000000, // เพิ่มค่า timeout + headers: { + "X-Requested-With": "XMLHttpRequest", + }, +}); + +http.interceptors.request.use( + async function (config: AxiosRequestConfig) { + await keycloak.updateToken(1); + config.headers = config.headers ?? {}; + const token = keycloak.token; + // const token = localStorage.getItem("access_token") + // const token = + // "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIxU2VKV2dVRFVlNXZwNS13Q1ZHaG9lT2l4bDJTTkdKemthLU5ZN211NXZJIn0.eyJleHAiOjE2NzI0MTI1NDksImlhdCI6MTY3MjM3NjU0OSwiYXV0aF90aW1lIjoxNjcyMzc2NTQ5LCJqdGkiOiI1MTVhY2IwNC1jODQ3LTQzM2YtYjUxOC03ODUzMzJhY2ZjNWYiLCJpc3MiOiJodHRwczovL2tleWNsb2FrLmZyYXBwZXQuc3lub2xvZ3kubWUvYXV0aC9yZWFsbXMvYm1hLWVociIsImF1ZCI6ImFjY291bnQiLCJzdWIiOiJlZmM5YjRlMC1mZGU2LTQ1NDQtYmU1OS1lMTA0MjEwMjUzZjAiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJibWEtZWhyIiwibm9uY2UiOiI3NjMyMGI3ZS0xZTMxLTQ5ODYtYWIzOC1iOTUyYjFlODY3OGYiLCJzZXNzaW9uX3N0YXRlIjoiMDZlNTBkZjktNzAyNi00ZGIwLTkxMjgtMWY3Y2FiYTRkNDEyIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwczovL2xvY2FsaG9zdDo3MDA2Il0sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJkZWZhdWx0LXJvbGVzLWJtYS1laHIiLCJvZmZsaW5lX2FjY2VzcyIsImFkbWluIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6Im9wZW5pZCBlbWFpbCBwcm9maWxlIiwic2lkIjoiMDZlNTBkZjktNzAyNi00ZGIwLTkxMjgtMWY3Y2FiYTRkNDEyIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsInJvbGUiOlsiZGVmYXVsdC1yb2xlcy1ibWEtZWhyIiwib2ZmbGluZV9hY2Nlc3MiLCJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIl0sIm5hbWUiOiJTeXN0ZW0gQWRtaW5pc3RyYXRvciIsInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiZ2l2ZW5fbmFtZSI6IlN5c3RlbSIsImZhbWlseV9uYW1lIjoiQWRtaW5pc3RyYXRvciIsImVtYWlsIjoiYWRtaW5AbG9jYWxob3N0In0.xmfJ3pzI-jLYsaiFXyjTW7gfAEpvUmMVsp9BsB1CfRCVOKiGBbuZhnQY8W-1SWVAx1NjJ55L-zMHPK6hk1dRPLbEse3DlIBZw04W9j8m-Wz3eqdHf_UCjmrXb8qAwkeq0Iaxq9mVfJJeQWeKhFBi-Ff8ek4hCXTYDICXS8ny_BaC5WkyrefHQ2xBqQjwRyoxsg4IoVMjXYNb8L9A-4BNlRfs928SqgFYCRlF5h6zw_rC0XoLrGTmqeacBdpey-r3j2g_lTqWy8mQg2T9s65IDqW3kFPOsr0SVO88sjlFbN9Et0L57RmiqORk_RwzbWg-_Yb6dOuolXsnjBOhOoTzkA"; + if (token) config.headers.Authorization = `Bearer ${token}`; + return config; + }, + function (error: any) { + return Promise.reject(error); + } +); + +http.interceptors.response.use( + function (response: AxiosResponse) { + return response; + }, + function (error: any) { + if (typeof error !== undefined) { + // eslint-disable-next-line no-prototype-builtins + if (error.hasOwnProperty("response")) { + if (error.response.status === 401 || error.response.status === 403) { + // Store.commit("SET_ERROR_MESSAGE", error.response.data.message); + // Store.commit("REMOVE_ACCESS_TOKEN") + } + } + } + return Promise.reject(error); + } +); + +export default http; diff --git a/src/plugins/keycloak.ts b/src/plugins/keycloak.ts new file mode 100644 index 000000000..fa1aa5097 --- /dev/null +++ b/src/plugins/keycloak.ts @@ -0,0 +1,23 @@ +/** + * front connect to keycloak + */ +import Keycloak from "keycloak-js"; +// import config from "../app.config"; +// import http from "../shared/http"; +// import router from "../router"; + +const initOptions = { + // url: "https://keycloak.frappet.synology.me/auth/", + realm: "bma-ehr", + clientId: "bma-ehr-vue3", + url: "https://identity.frappet.com/", + // realm: "bma-ehr-exam", + // clientId: "bma-ehr-exam-vue3", +}; //option keycloak ที่จะ connect + +const keycloak = Keycloak(initOptions); + +keycloak.onAuthSuccess = () => {}; //เพิ่มlogin สำเร็จจะมาทำฟังก์ชันนี้ + +await keycloak.init({ checkLoginIframe: false }); //ทำการ connect keycloak +export default keycloak; diff --git a/src/quasar-user-options.ts b/src/quasar-user-options.ts new file mode 100644 index 000000000..671a183b9 --- /dev/null +++ b/src/quasar-user-options.ts @@ -0,0 +1,11 @@ +// import "./styles/quasar.scss" +import "@quasar/extras/material-icons/material-icons.css" +import "@quasar/extras/material-icons-outlined/material-icons-outlined.css" +import "@quasar/extras/fontawesome-v5/fontawesome-v5.css" +import "@quasar/extras/mdi-v4/mdi-v4.css" + +// To be used on app.use(Quasar, { ... }) +export default { + config: {}, + plugins: {}, +} diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 000000000..130834586 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,91 @@ +import { createRouter, createWebHistory } from "vue-router"; + +const MainLayout = () => import("@/views/MainLayout.vue"); +const Dashboard = () => import("@/views/Dashboard.vue"); +const Error404NotFound = () => import("@/views/Error404NotFound.vue"); + +import ModuleMetadata from "@/modules/01_metadata/router"; +import ModuleOrganizational from "@/modules/02_organizational/router"; +import ModuleRecruiting from "@/modules/03_recruiting/router"; +import ModuleRegistry from "@/modules/04_registry/router"; +import ModulePlacement from "@/modules/05_placement/router"; +import ModuleRetirement from "@/modules/06_retirement/router"; +import ModuleInsignia from "@/modules/07_insignia/router"; + +// TODO: ใช้หรือไม่? +import keycloak from "@/plugins/keycloak"; + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: [ + { + path: "/", + name: "home", + component: MainLayout, + children: [ + { + path: "/", + name: "dashboard", + component: Dashboard, + meta: { + Auth: true, + Key: [7], + Role: "dashboard", + }, + }, + ...ModuleMetadata, + ...ModuleOrganizational, + ...ModuleRecruiting, + ...ModuleRegistry, + ...ModulePlacement, + ...ModuleRetirement, + ...ModuleInsignia, + ], + }, + /** + * 404 Not Found + * ref: https://router.vuejs.org/guide/essentials/dynamic-matching.html#catch-all-404-not-found-route + */ + { + // path: "/:catchAll(.*)*", // TODO: ใช้ pathMatch แทนตามในเอกสารแนะนำ คงไว้เผื่อจำเป็น + path: "/:pathMatch(.*)*", + component: Error404NotFound, + }, + ], + + scrollBehavior(to, from, savedPosition) { + if (savedPosition) { + return savedPosition; + } else if (to.hash) { + return { + el: to.hash, + behavior: "smooth", + }; + } + }, +}); + +router.beforeEach((to, from, next) => { + if (to.meta.Auth) { + if (!keycloak.authenticated) { + keycloak.login({ + redirectUri: `${window.location.protocol}//${window.location.host}${to.path}`, + locale: "th", + }); + } else { + // keycloak.updateToken(60); + const role = keycloak.tokenParsed?.role; + if (role.includes(to.meta.Role)) { + next(); + } else { + next({ path: "" }); + // next(); + } + } + } else { + next(); + } + // next(); +}); + +export default router; diff --git a/src/router/loader.ts b/src/router/loader.ts new file mode 100644 index 000000000..1001e3274 --- /dev/null +++ b/src/router/loader.ts @@ -0,0 +1,12 @@ +/** +***** DEPRECATED - Must be delete later ***** +*/ + +/**โหลดหน้าแบบ async/await + * @param view "ชี่อไฟล์".vue + * @param folder "folderในsrc" [Ex. /src/"folder"] default=views เมื่อไม่ส่งค่า + */ +export function load(view: string, folder: string = "views") { + // console.log(`@/${folder}/${view}.vue`); + return async () => await import(`@/${folder}/${view}.vue`); +} diff --git a/src/stores/data.ts b/src/stores/data.ts new file mode 100644 index 000000000..74c390745 --- /dev/null +++ b/src/stores/data.ts @@ -0,0 +1,102 @@ +import { ref, computed } from "vue"; +import { defineStore } from "pinia"; + +export const useDataStore = defineStore("data", () => { + // ref() คือการประกาศ state เหมือน vuex + const count = ref(0); + const loader = ref(false); + + const expandedReport2 = ref([]); + const selectedReport2 = ref(""); + const expandedRegister = ref([]); + const selectedRegister = ref(""); + // computed() คือการประกาศ getters เหมือน vuex + const doubleCount = computed(() => count.value * 2); + // function() คือการประกาศ actions เหมือน vuex + const increment = () => { + count.value++; + }; + // tabData เป็น paramert ใช้เปรียนเทียบ tab ให้ active + const tabData = ref(""); + /** + * active tab หน้า รายละเอียดทะเบียนประวัติ + * @param val string เป็นชื่อของ ตัวนั้นๆ + */ + const changeTab = (val: string) => { + tabData.value = val; + }; + + /** + * active tab หน้า รายละเอียดทะเบียนประวัติ + * @param val boolean false = close , true = open + */ + const loaderPage = (val: boolean) => { + loader.value = val; + }; + + /** + * เปิด tree จัดการบัญชี2 + * @param val string เป็นชื่อของ ตัวนั้นๆ + */ + const changeTreeReport2 = (e: string[], s: string) => { + expandedReport2.value = e; + selectedReport2.value = s; + }; + + /** + * เปิด tree ทะเบียนประวัติ + * @param val string เป็นชื่อของ ตัวนั้นๆ + */ + const changeTreeRegister = (e: string[], s: string) => { + expandedRegister.value = e; + selectedRegister.value = s; + }; + + return { + count, + doubleCount, + increment, + tabData, + changeTab, + loader, + loaderPage, + expandedReport2, + selectedReport2, + changeTreeReport2, + expandedRegister, + selectedRegister, + changeTreeRegister, + }; +}); + +// การเขียนแบบ composition api +// ตัวอย่างการใช้งาน use...Store() ตามชื่อที่ตั้ง + +// import { useDataStore } from '@/stores/data' + +//storeToRefs ใช้กรณีที่เราจะแปลงค่าเป็น state ใน หน้านั้น + +// import { storeToRefs } from 'pinia' + +// export default { +// setup() { +// const store = useDataStore() + +// *********************************** +// พยายามไม่ให้ ชื่อ เหมือนกับ props ** ตัวอย่างปกติ +// const { count, doubleCount, increment } = store +// *********************************** + +// ตัวอย่าง แปลงค่า store เป็น state หรือ ref +// const { name, doubleCount } = storeToRefs(store) +// ถ้าเป็น function เรียกแยกอีกทีก็ได้ +// const { increment } = store +// *********************************** + +//return { +// count, +// doubleCount, +// increment +// } +// }, +// } diff --git a/src/stores/mixin.ts b/src/stores/mixin.ts new file mode 100644 index 000000000..8acdfbda7 --- /dev/null +++ b/src/stores/mixin.ts @@ -0,0 +1,619 @@ +import { defineStore } from "pinia"; +import moment from "moment"; +import CustomComponent from "@/components/CustomDialog.vue"; + +export const useCounterMixin = defineStore("mixin", () => { + /** + * ฟังก์ชันกลาง + */ + + const calAge = ( + srcDate: Date, + birthCal: Date = new Date(), + eng: boolean = false + ) => { + const year = eng ? "years" : "ปี"; + const month = eng ? "months" : "เดือน"; + const day = eng ? "days" : "วัน"; + + if (srcDate == null) { + return `0 ${year} 0 ${month} 0 ${day}`; + } + + const toDay = birthCal; + const birth = new Date(srcDate); + + const yearNow = toDay.getFullYear(); + const monthNow = toDay.getMonth(); + const dateNow = toDay.getDate(); + + const yearDob = birth.getFullYear(); + const monthDob = birth.getMonth(); + const dateDob = birth.getDate(); + + const lastYear = 12; + const subtractDate: Object = moment().subtract(1, "months").endOf("month"); + + const lastMonths = new Date(subtractDate.toString()).getDate(); + + let yearAge = yearNow - yearDob; + let monthAge = 0; + let dateAge = 0; + + if (monthNow >= monthDob) { + monthAge = monthNow - monthDob; + } else { + yearAge--; + monthAge = lastYear + monthNow - monthDob; + } + + if (dateNow >= dateDob) { + dateAge = dateNow - dateDob; + } else { + monthAge--; + dateAge = lastMonths + dateNow - dateDob; + + if (monthAge < 0) { + monthAge = 11; + yearAge--; + } + } + + const age = { + years: yearAge, + months: monthAge, + days: dateAge, + }; + + return `${yearAge} ${year} ${monthAge} ${month} ${dateAge} ${day}`; + }; + + function date2Thai( + srcDate: Date, + isFullMonth: boolean = false, + isTime: boolean = false + ) { + if (srcDate == null) { + return null; + ` + `; + } + const date = new Date(srcDate); + const isValidDate = Boolean(+date); + if (!isValidDate) return srcDate.toString(); + if (isValidDate && date.getFullYear() < 1000) return srcDate.toString(); + const fullMonthThai = [ + "มกราคม", + "กุมภาพันธ์", + "มีนาคม", + "เมษายน", + "พฤษภาคม", + "มิถุนายน", + "กรกฎาคม", + "สิงหาคม", + "กันยายน", + "ตุลาคม", + "พฤศจิกายน", + "ธันวาคม", + ]; + const abbrMonthThai = [ + "ม.ค.", + "ก.พ.", + "มี.ค.", + "เม.ย.", + "พ.ค.", + "มิ.ย.", + "ก.ค.", + "ส.ค.", + "ก.ย.", + "ต.ค.", + "พ.ย.", + "ธ.ค.", + ]; + let dstYear = 0; + if (date.getFullYear() > 2500) { + dstYear = date.getFullYear(); + } else { + dstYear = date.getFullYear() + 543; + } + let dstMonth = ""; + if (isFullMonth) { + dstMonth = fullMonthThai[date.getMonth()]; + } else { + dstMonth = abbrMonthThai[date.getMonth()]; + } + let dstTime = ""; + if (isTime) { + const H = date.getHours().toString().padStart(2, "0"); + const M = date.getMinutes().toString().padStart(2, "0"); + // const S = date.getSeconds().toString().padStart(2, "0") + // dstTime = " " + H + ":" + M + ":" + S + " น." + dstTime = " " + H + ":" + M + " น."; + } + return ( + date.getDate().toString().padStart(2, "0") + + " " + + dstMonth + + " " + + dstYear + + dstTime + ); + } + + function dateMonth2Thai(srcDate: Date, isFullMonth = false, isTime = false) { + if (!srcDate) return srcDate; + const date = new Date(srcDate); + const isValidDate = Boolean(+date); + if (!isValidDate) return srcDate; + if (isValidDate && date.getFullYear() < 1000) return srcDate; + const fullMonthThai = [ + "มกราคม", + "กุมภาพันธ์", + "มีนาคม", + "เมษายน", + "พฤษภาคม", + "มิถุนายน", + "กรกฎาคม", + "สิงหาคม", + "กันยายน", + "ตุลาคม", + "พฤศจิกายน", + "ธันวาคม", + ]; + const abbrMonthThai = [ + "ม.ค.", + "ก.พ.", + "มี.ค.", + "เม.ย.", + "พ.ค.", + "มิ.ย.", + "ก.ค.", + "ส.ค.", + "ก.ย.", + "ต.ค.", + "พ.ย.", + "ธ.ค.", + ]; + let dstYear = 0; + if (date.getFullYear() > 2500) { + dstYear = date.getFullYear(); + } else { + dstYear = date.getFullYear() + 543; + } + let dstMonth = ""; + if (isFullMonth) { + dstMonth = fullMonthThai[date.getMonth()]; + } else { + dstMonth = abbrMonthThai[date.getMonth()]; + } + let dstTime = ""; + if (isTime) { + const H = date.getHours().toString().padStart(2, "0"); + const M = date.getMinutes().toString().padStart(2, "0"); + // const S = date.getSeconds().toString().length === 1 ? "0" + date.getSeconds() : date.getSeconds() + // dstTime = " " + H + ":" + M + ":" + S + " น." + dstTime = " " + H + ":" + M + " น."; + } + return date.getDate().toString().padStart(2, "0") + " " + dstMonth; + } + + function monthYear2Thai(month: number, year: number, isFullMonth = false) { + const date = new Date(`${year}-${month + 1}-1`); + const fullMonthThai = [ + "มกราคม", + "กุมภาพันธ์", + "มีนาคม", + "เมษายน", + "พฤษภาคม", + "มิถุนายน", + "กรกฎาคม", + "สิงหาคม", + "กันยายน", + "ตุลาคม", + "พฤศจิกายน", + "ธันวาคม", + ]; + const abbrMonthThai = [ + "ม.ค.", + "ก.พ.", + "มี.ค.", + "เม.ย.", + "พ.ค.", + "มิ.ย.", + "ก.ค.", + "ส.ค.", + "ก.ย.", + "ต.ค.", + "พ.ย.", + "ธ.ค.", + ]; + let dstYear = 0; + if (date.getFullYear() > 2500) { + dstYear = date.getFullYear(); + } else { + dstYear = date.getFullYear() + 543; + } + let dstMonth = ""; + if (isFullMonth) { + dstMonth = fullMonthThai[date.getMonth()]; + } else { + dstMonth = abbrMonthThai[date.getMonth()]; + } + return dstMonth + " " + dstYear; + } + + function dateToISO(date: Date) { + return ( + date.getFullYear() + + "-" + + appendLeadingZeroes(date.getMonth() + 1) + + "-" + + appendLeadingZeroes(date.getDate()) + ); + } + + function appendLeadingZeroes(n: Number) { + if (n <= 9) return "0" + n; + return n; + } + + function textToPhone(n: string) { + const p = n.substr(0, 3) + "-" + n.substr(3, 3) + "-" + n.substr(6, 4); + return p; + } + + function textToFax(n: string) { + const p = n.substr(0, 2) + "-" + n.substr(2, 3) + "-" + n.substr(5, 4); + return p; + } + + const success = (q: any, val: string) => { + // useQuasar ไม่สามารถใช้นอกไฟล์ .vue + if (val !== "") { + return q.notify({ + message: val, + color: "primary", + icon: "mdi-information", + position: "bottom-right", + multiLine: true, + timeout: 1000, + badgeColor: "positive", + classes: "my-notif-class", + }); + } + }; + + function notify(q: any, val: string) { + if (val !== "") { + q.notify({ + color: "teal-10", + message: val, + icon: "mdi-information", + position: "bottom-right", + multiLine: true, + timeout: 7000, + actions: [{ label: "ปิด", color: "white", handler: () => {} }], + }); + } + } + function notifyError(q: any, val: string) { + if (val !== "") { + q.notify({ + color: "negative", + message: val, + icon: "mdi-alert-circle", + position: "top", + multiLine: true, + timeout: 12000, + actions: [{ label: "ปิด", color: "white", handler: () => {} }], + }); + } + } + + const messageError = (q: any, e: any = "") => { + if (e.response !== undefined) { + if (e.response.data.status !== undefined) { + if (e.response.data.status == 401) { + //invalid_token + q.dialog({ + component: CustomComponent, + componentProps: { + title: `พบข้อผิดพลาด`, + message: `ล็อกอินหมดอายุ กรุณาล็อกอินใหม่อีกครั้ง`, + icon: "warning", + color: "red", + onlycancel: true, + }, + }); + } else { + q.dialog({ + component: CustomComponent, + componentProps: { + title: `พบข้อผิดพลาด`, + message: `${e.response.data.message}`, + icon: "warning", + color: "red", + onlycancel: true, + }, + }); + } + } else { + if (e.response.status == 401) { + //invalid_token + q.dialog({ + component: CustomComponent, + componentProps: { + title: `พบข้อผิดพลาด`, + message: `ล็อกอินหมดอายุ กรุณาล็อกอินใหม่อีกครั้ง`, + icon: "warning", + color: "red", + onlycancel: true, + }, + }); + } else { + q.dialog({ + component: CustomComponent, + componentProps: { + title: `พบข้อผิดพลาด`, + message: `ข้อมูลผิดพลาดทำให้เกิดการไม่ตอบสนองต่อการเรียกใช้งานดูเว็บไซต์`, + icon: "warning", + color: "red", + onlycancel: true, + }, + }); + } + } + } else { + q.dialog({ + component: CustomComponent, + componentProps: { + title: `พบข้อผิดพลาด`, + message: `ข้อมูลผิดพลาดทำให้เกิดการไม่ตอบสนองต่อการเรียกใช้งานดูเว็บไซต์`, + icon: "warning", + color: "red", + onlycancel: true, + }, + }); + } + }; + + const dialogMessage = ( + // ไม่เอาใส่ undefined + q: any, + title: string | undefined, + message: string | undefined, + icon: string | undefined, + textOk: string | undefined, + color: string | undefined, + ok?: Function | undefined, + cancel?: Function | undefined, + onlycancel: Boolean = false + ) => { + q.dialog({ + component: CustomComponent, + componentProps: { + title: title, + message: message, + icon: icon, + color: color, + textOk: textOk, + onlycancel: onlycancel, + }, + }) + .onOk(() => { + if (ok != undefined) ok(); + }) + .onCancel(() => { + if (cancel != undefined) cancel(); + }); + }; + + function modalDelete( + q: any, + title: string, + message: string, + ok: Function, + cancel?: Function + ) { + q.dialog({ + title: `${title}`, + message: `${message}`, + cancel: { + flat: true, + color: "grey-14", + }, + ok: { + color: "red-6", + }, + focus: "none", + persistent: true, + html: true, + }) + .onOk(() => { + ok(); + }) + .onCancel(() => { + if (cancel != undefined) cancel(); + }) + .onDismiss(() => {}); + } + + function modalConfirm( + q: any, + title: string, + message: string, + ok: Function, + cancel?: Function + ) { + q.dialog({ + title: `${title}`, + message: `${message}`, + cancel: { + flat: true, + color: "grey", + }, + ok: { + color: "primary", + }, + focus: "none", + persistent: true, + html: true, + }) + .onOk(() => { + ok(); + }) + .onCancel(() => { + if (cancel != undefined) cancel(); + }) + .onDismiss(() => {}); + } + + function modalError(q: any, title: string, message: string, ok?: Function) { + // q.dialog({ + // title: `${title}`, + // message: `${message}`, + // ok: { + // push: true, + // color: "primary", + // }, + // focus: "none", + // persistent: true, + // html: true, + // }) + // .onOk(() => { + // if (ok != undefined) ok(); + // }) + // .onCancel(() => {}) + // .onDismiss(() => {}); + + q.dialog({ + component: CustomComponent, + componentProps: { + title: title, + message: message, + icon: "warning", + color: "red", + onlycancel: true, + }, + }); + } + + const dateText = (val: Date) => { + if (val != null) { + return date2Thai(val); + } else { + return "-"; + } + }; + + /** + * แปลงช่วงวันที่ถ้า2ค่าเป็นวันเดียวกันจะโชววันเดียวแต่ถ้าไม่เท่ากันจะแสดงเป็นช่วง + * @param val ช่วงวันที่ + */ + const dateThaiRange = (val: [Date, Date]) => { + if (val === null) { + return ""; + } else if (date2Thai(val[0]) === date2Thai(val[1])) { + return `${date2Thai(val[0])}`; + } else { + return `${date2Thai(val[0])} - ${date2Thai(val[1])}`; + } + }; + + const weekThai = (val: Number) => { + switch (val) { + case 0: + return "วันอาทิตย์"; + case 1: + return "วันจันทร์"; + case 2: + return "วันอังคาร"; + case 3: + return "วันพุธ"; + case 4: + return "วันพฤหัสบดี"; + case 5: + return "วันศุกร์"; + case 6: + return "วันเสาร์"; + default: + return "-"; + } + }; + + const genColor15 = (val: number) => { + val = val % 15; + switch (val) { + case 1: + return "pink"; + case 2: + return "purple"; + case 3: + return "deep-purple"; + case 4: + return "indigo"; + case 5: + return "blue"; + case 6: + return "light-blue"; + case 7: + return "cyan"; + case 8: + return "teal"; + case 9: + return "green"; + case 10: + return "light-green"; + case 11: + return "amber"; + case 12: + return "orange"; + case 13: + return "deep-orange"; + case 14: + return "brown"; + case 0: + return "blue-grey"; + default: + return ""; + } + }; + + const typeCategoryExam = (val: string) => { + switch (val) { + case "hygiene": + return "สำนักอนามัย"; + case "physician": + return "สำนักการแพทย์"; + case "city": + return "สำนักผังเมือง"; + case "culture": + return "สำนักวัฒนธรรม กีฬา และการท่องเที่ยว"; + default: + return "-"; + } + }; + + return { + calAge, + date2Thai, + dateToISO, + notify, + notifyError, + dateText, + monthYear2Thai, + dateMonth2Thai, + success, + weekThai, + genColor15, + typeCategoryExam, + textToPhone, + textToFax, + dateThaiRange, + modalDelete, + modalConfirm, + modalError, + dialogMessage, + messageError, + }; +}); diff --git a/src/style/quasar-variables.sass b/src/style/quasar-variables.sass new file mode 100644 index 000000000..5e559d0cc --- /dev/null +++ b/src/style/quasar-variables.sass @@ -0,0 +1,136 @@ +// FILE (create it): src/quasar-variables.sass + +$primary: #02A998 +$secondary: #016987 +$accent: #9C27B0 + +// $dark: #1D1D1D +$dark: #35473C + +$positive: #21BA45 +$negative: #C10015 +$info: #31CCEC +$warning: #F2C037 + +$add: #00aa86 +.text-add + color: $add !important +.bg-add + background: $add !important + +$edit: #019fc4 +.text-edit + color: $edit !important +.bg-edit + background: $edit !important + +$public: #016987 +.text-public + color: $public !important +.bg-public + background: $public !important + +$save: #4154b3 +.text-save + color: $save !important +.bg-save + background: $save !important + +$nativetab: #c8d3db +.text-nativetab + color: $nativetab !important +.bg-nativetab + background: $nativetab !important + +$activetab: #4a5568 +.text-activetab + color: $activetab !important +.bg-activetab + background: $activetab !important + +.inputgreen .q-field__prefix, +.inputgreen .q-field__suffix, +.inputgreen .q-field__input, +.inputgreen .q-field__native + + color: rgb(6, 136, 77) + +@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@100;200;300;400;500;600;700;800;900&display=swap') + +$noto-thai: 'Noto Sans Thai', sans-serif + +#azay-app, +div + font-family: $noto-thai !important + text-rendering: optimizeLegibility + -webkit-font-smoothing: antialiased + -moz-osx-font-smoothing: grayscale + +$separator-color: #EDEDED !default + +.table_ellipsis + max-width: 200px + white-space: nowrap + overflow: hidden + text-overflow: ellipsis + +.table_ellipsis:hover + word-wrap: break-word + overflow: visible + white-space: normal + +.table_ellipsis2 + max-width: 25vw + white-space: nowrap + overflow: hidden + text-overflow: ellipsis + +.table_ellipsis2:hover + word-wrap: break-word + overflow: visible + white-space: normal + transition: width 2s + +$muti-tab: #87d4cc +.text-muti-tab + color: $muti-tab !important +.bg-muti-tab + background: $muti-tab !important + + +/* editor */ + +.q-editor + font-size: 1rem + line-height: 1.5rem + font-weight: 400 + +.q-editor h1, .q-menu h1 + font-size: 1.5rem + line-height: 2rem + font-weight: 400 + margin-block-start: 0em + margin-block-end: 0em + +.q-editor h2, .q-menu h2 + font-size: 1.25rem + line-height: 1.5rem + font-weight: 400 + margin-block-start: 0em + margin-block-end: 0em + + +.q-editor h3, .q-menu h3 + font-size: 1.1rem + line-height: 1.5rem + font-weight: 400 + margin-block-start: 0em + margin-block-end: 0em + +.q-editor p, .q-menu p + margin: 0 + +/* q-tree */ + +.q-tree + color: #c8d3db diff --git a/src/views/Dashboard.vue b/src/views/Dashboard.vue new file mode 100644 index 000000000..6f085d55d --- /dev/null +++ b/src/views/Dashboard.vue @@ -0,0 +1,259 @@ + + + + + + diff --git a/src/views/Error404NotFound.vue b/src/views/Error404NotFound.vue new file mode 100644 index 000000000..e521ddd28 --- /dev/null +++ b/src/views/Error404NotFound.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/views/MainLayout.vue b/src/views/MainLayout.vue new file mode 100644 index 000000000..7b9acfebf --- /dev/null +++ b/src/views/MainLayout.vue @@ -0,0 +1,888 @@ + + + + + + diff --git a/src/views/TestView.vue b/src/views/TestView.vue new file mode 100644 index 000000000..e3b7db6b4 --- /dev/null +++ b/src/views/TestView.vue @@ -0,0 +1,249 @@ + + + diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 000000000..cdbea1d76 --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "@vue/tsconfig/tsconfig.web.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "composite": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/tsconfig.config.json b/tsconfig.config.json new file mode 100644 index 000000000..424084aa5 --- /dev/null +++ b/tsconfig.config.json @@ -0,0 +1,8 @@ +{ + "extends": "@vue/tsconfig/tsconfig.node.json", + "include": ["vite.config.*", "vitest.config.*", "cypress.config.*", "playwright.config.*"], + "compilerOptions": { + "composite": true, + "types": ["node"] + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..7f365145e --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,25 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.config.json" + }, + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.vitest.json" + } + ], + + "compilerOptions": { + /* other configs */ + "paths": { + "@/*": [ + "./*", + // r + ] + }, + /* other configs */ + } +} diff --git a/tsconfig.vitest.json b/tsconfig.vitest.json new file mode 100644 index 000000000..d080d611e --- /dev/null +++ b/tsconfig.vitest.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.app.json", + "exclude": [], + "compilerOptions": { + "composite": true, + "lib": [], + "types": ["node", "jsdom"] + } +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 000000000..9393aa965 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,30 @@ +import { fileURLToPath, URL } from "node:url" + +import { defineConfig } from "vite" +import vue from "@vitejs/plugin-vue" +import vueJsx from "@vitejs/plugin-vue-jsx" +import { quasar, transformAssetUrls } from "@quasar/vite-plugin" + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + vue({ + template: { transformAssetUrls }, + }), + quasar({ + sassVariables: "src/style/quasar-variables.sass", + }), + vueJsx(), + ], + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", import.meta.url)), + }, + }, + build: { + target: "esnext", + }, + server: { + port: 3006, + }, +})