From df3838c2f3f5a93b613995b5540b1dadcf01d53c Mon Sep 17 00:00:00 2001 From: mono Date: Sat, 24 Oct 2026 21:11:50 -0500 Subject: [PATCH] feat: repositorios, servicios, UI completa con rutas, Capacitor Android sync --- .../android/app/capacitor.build.gradle | 19 + .../android/capacitor.settings.gradle | 3 + apps/toldo-app/package-lock.json | 4056 +++++++++++++++-- apps/toldo-app/package.json | 11 +- apps/toldo-app/src/App.vue | 6 +- apps/toldo-app/src/components/Layout.vue | 29 + apps/toldo-app/src/main.ts | 3 +- apps/toldo-app/src/router/index.ts | 32 + apps/toldo-app/src/views/Ajustes.vue | 6 + apps/toldo-app/src/views/Cuadre.vue | 6 + apps/toldo-app/src/views/Exportar.vue | 6 + apps/toldo-app/src/views/Gastos.vue | 6 + apps/toldo-app/src/views/Home.vue | 7 + apps/toldo-app/src/views/Inventario.vue | 6 + apps/toldo-app/src/views/Reportes.vue | 6 + apps/toldo-app/src/views/Ventas.vue | 6 + apps/toldo-app/vue-router-4.4.5.tgz | Bin 0 -> 210704 bytes packages/data/package.json | 4 +- packages/data/src/index.ts | 1 + .../data/src/repositories/AjusteRepository.ts | 22 + .../data/src/repositories/CuadreRepository.ts | 20 + .../data/src/repositories/GastoRepository.ts | 20 + .../MovimientoInventarioRepository.ts | 16 + .../src/repositories/ProductoRepository.ts | 30 + .../src/repositories/ProductorRepository.ts | 24 + .../data/src/repositories/VentaRepository.ts | 24 + packages/data/src/repositories/index.ts | 7 + packages/services/package.json | 4 +- .../services/src/ajustes/AjustesService.ts | 31 + packages/services/src/cuadre/CuadreService.ts | 56 + packages/services/src/gastos/GastosService.ts | 16 + packages/services/src/index.ts | 6 + .../src/inventario/InventarioService.ts | 38 + .../services/src/reportes/ReportesService.ts | 56 + packages/services/src/ventas/VentasService.ts | 37 + packages/ui/package.json | 6 +- 36 files changed, 4224 insertions(+), 402 deletions(-) create mode 100644 apps/toldo-app/android/app/capacitor.build.gradle create mode 100644 apps/toldo-app/android/capacitor.settings.gradle create mode 100644 apps/toldo-app/src/components/Layout.vue create mode 100644 apps/toldo-app/src/router/index.ts create mode 100644 apps/toldo-app/src/views/Ajustes.vue create mode 100644 apps/toldo-app/src/views/Cuadre.vue create mode 100644 apps/toldo-app/src/views/Exportar.vue create mode 100644 apps/toldo-app/src/views/Gastos.vue create mode 100644 apps/toldo-app/src/views/Home.vue create mode 100644 apps/toldo-app/src/views/Inventario.vue create mode 100644 apps/toldo-app/src/views/Reportes.vue create mode 100644 apps/toldo-app/src/views/Ventas.vue create mode 100644 apps/toldo-app/vue-router-4.4.5.tgz create mode 100644 packages/data/src/repositories/AjusteRepository.ts create mode 100644 packages/data/src/repositories/CuadreRepository.ts create mode 100644 packages/data/src/repositories/GastoRepository.ts create mode 100644 packages/data/src/repositories/MovimientoInventarioRepository.ts create mode 100644 packages/data/src/repositories/ProductoRepository.ts create mode 100644 packages/data/src/repositories/ProductorRepository.ts create mode 100644 packages/data/src/repositories/VentaRepository.ts create mode 100644 packages/data/src/repositories/index.ts create mode 100644 packages/services/src/ajustes/AjustesService.ts create mode 100644 packages/services/src/cuadre/CuadreService.ts create mode 100644 packages/services/src/gastos/GastosService.ts create mode 100644 packages/services/src/inventario/InventarioService.ts create mode 100644 packages/services/src/reportes/ReportesService.ts create mode 100644 packages/services/src/ventas/VentasService.ts diff --git a/apps/toldo-app/android/app/capacitor.build.gradle b/apps/toldo-app/android/app/capacitor.build.gradle new file mode 100644 index 0000000..fdb4970 --- /dev/null +++ b/apps/toldo-app/android/app/capacitor.build.gradle @@ -0,0 +1,19 @@ +// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN + +android { + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } +} + +apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle" +dependencies { + + +} + + +if (hasProperty('postBuildExtras')) { + postBuildExtras() +} diff --git a/apps/toldo-app/android/capacitor.settings.gradle b/apps/toldo-app/android/capacitor.settings.gradle new file mode 100644 index 0000000..9a5fa87 --- /dev/null +++ b/apps/toldo-app/android/capacitor.settings.gradle @@ -0,0 +1,3 @@ +// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN +include ':capacitor-android' +project(':capacitor-android').projectDir = new File('../node_modules/@capacitor/android/capacitor') diff --git a/apps/toldo-app/package-lock.json b/apps/toldo-app/package-lock.json index 3925e5b..424475c 100644 --- a/apps/toldo-app/package-lock.json +++ b/apps/toldo-app/package-lock.json @@ -1,65 +1,62 @@ { "name": "toldo-app", - "version": "0.0.0", + "version": "0.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "toldo-app", - "version": "0.0.0", + "version": "0.0.1", "dependencies": { - "@capacitor/android": "^8.5.3", - "@capacitor/core": "^8.5.3", - "@testing-library/vue": "^8.1.0", - "@vue/test-utils": "^2.5.1", - "dexie": "^4.4.7", - "fake-indexeddb": "^6.2.6", - "jsdom": "^30.1.3", - "vitest": "^5.0.5", - "vue": "^3.5.44" + "@capacitor/android": "^6.2.1", + "@capacitor/core": "^6.2.1", + "@toldo/core": "file:../../packages/core", + "@toldo/data": "file:../../packages/data", + "@toldo/services": "file:../../packages/services", + "@toldo/ui": "file:../../packages/ui", + "dexie": "^4.0.10", + "vue": "^3.5.44", + "vue-router": "file:vue-router-4.4.5.tgz" }, "devDependencies": { + "@capacitor/cli": "^6.2.1", + "@testing-library/vue": "^8.1.0", "@types/node": "^24.19.2", "@vitejs/plugin-vue": "^6.0.10", + "@vue/test-utils": "^2.4.6", "@vue/tsconfig": "^0.9.1", + "fake-indexeddb": "^5.0.2", + "jsdom": "^25.0.1", "typescript": "~6.0.3", "vite": "^8.3.4", + "vitest": "^2.1.8", "vue-tsc": "^3.3.13" } }, "node_modules/@asamuzakjp/css-color": { - "version": "7.1.8", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-7.1.8.tgz", - "integrity": "sha512-IO1d3/XUdizeTFw1Gh8jXcLok4eiYzUQpo58uCpv9cRmr4h5Dp1Jrn2Qc+2IxqyxJhkZKj120xfmAiuy21u0Gg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", + "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", + "dev": true, "dependencies": { - "@csstools/css-calc": "^3.4.3", - "@csstools/css-color-parser": "^4.2.6", - "@csstools/css-parser-algorithms": "^4.0.2", - "@csstools/css-tokenizer": "^4.0.2", - "lru-cache": "^11.5.3" - }, - "engines": { - "node": "^22.22.2 || ^24.15.0 || >=26.0.0" + "@csstools/css-calc": "^2.1.3", + "@csstools/css-color-parser": "^3.0.9", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "lru-cache": "^10.4.3" } }, - "node_modules/@asamuzakjp/dom-selector": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-10.0.5.tgz", - "integrity": "sha512-EgmJ7oEaGQECTn3H3wmnQpEy4hKY66VvM7VQndwPIQob3p877BgbyOUE3EX0LgXQCciF2H8KMdR+RznqjMNOLw==", - "dependencies": { - "bidi-js": "^1.1.0", - "css-tree": "^3.2.1", - "is-potential-custom-element-name": "^1.0.1", - "lru-cache": "^11.5.3" - }, - "engines": { - "node": "^22.22.2 || ^24.15.0 || >=26.0.0" - } + "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true }, "node_modules/@babel/code-frame": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", @@ -103,6 +100,7 @@ "version": "7.29.10", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.10.tgz", "integrity": "sha512-NpugTzbKgGrNe45Ui32cN8vCFFMxVtP/9rtfwv0nP5FRDAjvYBxJcLVpYA9mr1jxP6cnIT7x9LUzuDTbWYYNRA==", + "dev": true, "engines": { "node": ">=6.9.0" } @@ -119,37 +117,68 @@ "node": ">=6.9.0" } }, - "node_modules/@bramus/specificity": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.3.tgz", - "integrity": "sha512-0GEz8qJWokkUVYQYRukmkSHIFNoBH8QTreeHrAFbvz1XFYc3Y+puhMs8PQ5x8GNugiC2l5jvDBXKLbBIByeSBw==", - "dependencies": { - "css-tree": "^3.2.1" - }, - "bin": { - "specificity": "bin/cli.js" + "node_modules/@capacitor/android": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-6.2.2.tgz", + "integrity": "sha512-JjIu1ryNE16PQTp51rb4NEygxP7cSCDMmUqx4f5f12xscKdGKTjO9bkEP3TroLnTa/J6p2QopIhRbrd3E/7DrA==", + "peerDependencies": { + "@capacitor/core": "^6.2.0" } }, - "node_modules/@capacitor/android": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-8.5.3.tgz", - "integrity": "sha512-ilH4gSSz3DrketMkzDVAvY9JsWJ//rCQnECLTdcFRO7xXDogwAbUvQAnIAbiqefwV/D1xfjEL4Gw1MJXEcaA9g==", - "peerDependencies": { - "@capacitor/core": "^8.5.0" + "node_modules/@capacitor/cli": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-6.2.2.tgz", + "integrity": "sha512-5wEYSHBzRKJKZnhD2sVJAP0t0kUT7o2/vlgEGzFE3t2w+inL9qMDN7zxg6pvqveJiPNZT2k93ZvJDdRKIn/w1w==", + "dev": true, + "dependencies": { + "@ionic/cli-framework-output": "^2.2.5", + "@ionic/utils-fs": "^3.1.6", + "@ionic/utils-subprocess": "2.1.11", + "@ionic/utils-terminal": "^2.3.3", + "commander": "^9.3.0", + "debug": "^4.3.4", + "env-paths": "^2.2.0", + "kleur": "^4.1.4", + "native-run": "^2.0.0", + "open": "^8.4.0", + "plist": "^3.0.5", + "prompts": "^2.4.2", + "rimraf": "^4.4.1", + "semver": "^7.3.7", + "tar": "^6.1.11", + "tslib": "^2.4.0", + "xml2js": "^0.5.0" + }, + "bin": { + "cap": "bin/capacitor", + "capacitor": "bin/capacitor" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@capacitor/cli/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || >=14" } }, "node_modules/@capacitor/core": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.5.3.tgz", - "integrity": "sha512-oBE1oGuYE4ZzYYrulC75OuHdSsD6zLUy7d5o1tFwDLG4govGoubY15cxpiI5l0+q87Lm5p0bhbehMdzJg4aFag==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-6.2.2.tgz", + "integrity": "sha512-qEI3DcwJEPzhW+hVGKH8m4jbujtkdUiGkpMLHmpR8epACU7wEsV6NF8pCHzpsMYjc80oK7Cmpcw+MIienv/YRw==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@csstools/color-helpers": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.1.2.tgz", - "integrity": "sha512-grhRy3OKmniaAEKXMjua5z/EODX0MSqBGjunw8+j/3HQjOnahs2AGhvEOIYVUWcU6ScApbhLhVrQTX8XqrMrow==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", + "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", + "dev": true, "funding": [ { "type": "github", @@ -161,13 +190,14 @@ } ], "engines": { - "node": ">=20.19.0" + "node": ">=18" } }, "node_modules/@csstools/css-calc": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.4.3.tgz", - "integrity": "sha512-iex20d8CHVkyvg6B7UKV7uHnI2Bqo9g+EFfT9E0y+GvTvhZ/DwONJ+9aKb1dlqm0ZiGsL5RXjp0fCoJYnkeDjA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", + "dev": true, "funding": [ { "type": "github", @@ -179,17 +209,18 @@ } ], "engines": { - "node": ">=20.19.0" + "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^4.0.2", - "@csstools/css-tokenizer": "^4.0.2" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, "node_modules/@csstools/css-color-parser": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.2.6.tgz", - "integrity": "sha512-iiPQ3iRWwnJkeEn6RIu6SJPr7hYrLz6XZ9s/QZl+2/LI5KQVjpl2fdmDSZKuD4xP6GMmMPgHFFXg6k1Wkz0Trg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", + "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", + "dev": true, "funding": [ { "type": "github", @@ -201,21 +232,22 @@ } ], "dependencies": { - "@csstools/color-helpers": "^6.1.2", - "@csstools/css-calc": "^3.4.3" + "@csstools/color-helpers": "^5.1.0", + "@csstools/css-calc": "^2.1.4" }, "engines": { - "node": ">=20.19.0" + "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^4.0.2", - "@csstools/css-tokenizer": "^4.0.2" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.2.tgz", - "integrity": "sha512-40cSKyMvK+tq4qz6Awrlye2WGuOKt3FwPgtGg6KTfbHOWNw+Rk1rzbAtZnZ6IBhsY491HLRnDXwoyBAijmmILA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "dev": true, "funding": [ { "type": "github", @@ -227,39 +259,17 @@ } ], "engines": { - "node": ">=20.19.0" + "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^4.0.2" - } - }, - "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.15.tgz", - "integrity": "sha512-J0u7HkVl2nzSlhsiTOp4AmwcUQ3D+mGEEKfBy/7To5/y7F2OHwyLrXfrhR0SMgr4p5Lo+eaMVSeai24zUcBIxA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "peerDependencies": { - "css-tree": "^3.2.1" - }, - "peerDependenciesMeta": { - "css-tree": { - "optional": true - } + "@csstools/css-tokenizer": "^3.0.4" } }, "node_modules/@csstools/css-tokenizer": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.2.tgz", - "integrity": "sha512-OoKoR0f76dCY666JlcbhmVTs2drYj1GUXZTYTcbUgJjh9Nv41aFfZ21bPQTERm5+L5cBDo466NltB2lplS5GBw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "dev": true, "funding": [ { "type": "github", @@ -271,31 +281,628 @@ } ], "engines": { - "node": ">=20.19.0" + "node": ">=18" } }, - "node_modules/@exodus/bytes": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.16.0.tgz", - "integrity": "sha512-IcpW84uEn3N7ETtNZMlxKhfl6Pec8rUNGOTBtWbK1FKhJxIFAptZyVrvVRVBimAJxJCgc3PxepxkdWWG4DVzfA==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz", + "integrity": "sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "peer": true, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@noble/hashes": "^1.8.0 || ^2.0.0" - }, - "peerDependenciesMeta": { - "@noble/hashes": { - "optional": true - } + "node": ">=18" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "node_modules/@esbuild/android-arm": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.2.tgz", + "integrity": "sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, "engines": { - "node": ">=6.0.0" + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz", + "integrity": "sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.2.tgz", + "integrity": "sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz", + "integrity": "sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz", + "integrity": "sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz", + "integrity": "sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz", + "integrity": "sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz", + "integrity": "sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz", + "integrity": "sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz", + "integrity": "sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz", + "integrity": "sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz", + "integrity": "sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz", + "integrity": "sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz", + "integrity": "sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz", + "integrity": "sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz", + "integrity": "sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz", + "integrity": "sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz", + "integrity": "sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz", + "integrity": "sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz", + "integrity": "sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz", + "integrity": "sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz", + "integrity": "sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz", + "integrity": "sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz", + "integrity": "sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz", + "integrity": "sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ionic/cli-framework-output": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@ionic/cli-framework-output/-/cli-framework-output-2.2.8.tgz", + "integrity": "sha512-TshtaFQsovB4NWRBydbNFawql6yul7d5bMiW1WYYf17hd99V6xdDdk3vtF51bw6sLkxON3bDQpWsnUc9/hVo3g==", + "dev": true, + "dependencies": { + "@ionic/utils-terminal": "2.3.5", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-array": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-2.1.5.tgz", + "integrity": "sha512-HD72a71IQVBmQckDwmA8RxNVMTbxnaLbgFOl+dO5tbvW9CkkSFCv41h6fUuNsSEVgngfkn0i98HDuZC8mk+lTA==", + "dev": true, + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-fs": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-3.1.7.tgz", + "integrity": "sha512-2EknRvMVfhnyhL1VhFkSLa5gOcycK91VnjfrTB0kbqkTFCOXyXgVLI5whzq7SLrgD9t1aqos3lMMQyVzaQ5gVA==", + "dev": true, + "dependencies": { + "@types/fs-extra": "^8.0.0", + "debug": "^4.0.0", + "fs-extra": "^9.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-object": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-2.1.5.tgz", + "integrity": "sha512-XnYNSwfewUqxq+yjER1hxTKggftpNjFLJH0s37jcrNDwbzmbpFTQTVAp4ikNK4rd9DOebX/jbeZb8jfD86IYxw==", + "dev": true, + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-process": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.10.tgz", + "integrity": "sha512-mZ7JEowcuGQK+SKsJXi0liYTcXd2bNMR3nE0CyTROpMECUpJeAvvaBaPGZf5ERQUPeWBVuwqAqjUmIdxhz5bxw==", + "dev": true, + "dependencies": { + "@ionic/utils-object": "2.1.5", + "@ionic/utils-terminal": "2.3.3", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "tree-kill": "^1.2.2", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-process/node_modules/@ionic/utils-terminal": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.3.tgz", + "integrity": "sha512-RnuSfNZ5fLEyX3R5mtcMY97cGD1A0NVBbarsSQ6yMMfRJ5YHU7hHVyUfvZeClbqkBC/pAqI/rYJuXKCT9YeMCQ==", + "dev": true, + "dependencies": { + "@types/slice-ansi": "^4.0.0", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-stream": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.5.tgz", + "integrity": "sha512-hkm46uHvEC05X/8PHgdJi4l4zv9VQDELZTM+Kz69odtO9zZYfnt8DkfXHJqJ+PxmtiE5mk/ehJWLnn/XAczTUw==", + "dev": true, + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-subprocess": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-2.1.11.tgz", + "integrity": "sha512-6zCDixNmZCbMCy5np8klSxOZF85kuDyzZSTTQKQP90ZtYNCcPYmuFSzaqDwApJT4r5L3MY3JrqK1gLkc6xiUPw==", + "dev": true, + "dependencies": { + "@ionic/utils-array": "2.1.5", + "@ionic/utils-fs": "3.1.6", + "@ionic/utils-process": "2.1.10", + "@ionic/utils-stream": "3.1.5", + "@ionic/utils-terminal": "2.3.3", + "cross-spawn": "^7.0.3", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-subprocess/node_modules/@ionic/utils-fs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-3.1.6.tgz", + "integrity": "sha512-eikrNkK89CfGPmexjTfSWl4EYqsPSBh0Ka7by4F0PLc1hJZYtJxUZV3X4r5ecA8ikjicUmcbU7zJmAjmqutG/w==", + "dev": true, + "dependencies": { + "@types/fs-extra": "^8.0.0", + "debug": "^4.0.0", + "fs-extra": "^9.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-subprocess/node_modules/@ionic/utils-terminal": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.3.tgz", + "integrity": "sha512-RnuSfNZ5fLEyX3R5mtcMY97cGD1A0NVBbarsSQ6yMMfRJ5YHU7hHVyUfvZeClbqkBC/pAqI/rYJuXKCT9YeMCQ==", + "dev": true, + "dependencies": { + "@types/slice-ansi": "^4.0.0", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-terminal": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.5.tgz", + "integrity": "sha512-3cKScz9Jx2/Pr9ijj1OzGlBDfcmx7OMVBt4+P1uRR0SSW4cm1/y3Mo4OY3lfkuaYifMNBW8Wz6lQHbs1bihr7A==", + "dev": true, + "dependencies": { + "@types/slice-ansi": "^4.0.0", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=16.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { @@ -303,24 +910,33 @@ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==" }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^22.20 || ^24.12 || >=25" } }, "node_modules/@one-ini/wasm": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.2.1.tgz", - "integrity": "sha512-TUqERXGNTifZ9y2g3wPxQrw3HpHv/02DsW3D90T9x0hhonrL1ZqpSmNrU2XkoIq0fP1N6gZfVQzy2Fw1ZvGBNg==" + "integrity": "sha512-TUqERXGNTifZ9y2g3wPxQrw3HpHv/02DsW3D90T9x0hhonrL1ZqpSmNrU2XkoIq0fP1N6gZfVQzy2Fw1ZvGBNg==", + "dev": true }, "node_modules/@oxc-project/types": { "version": "0.155.0", "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.155.0.tgz", "integrity": "sha512-SeE8JPwW1xs1tHeNycjUtUBdhorRa8o4jlvjwk49R7/Z291i+4DQa7JJIgOm/TaYQZx+QrPQbVJ/9c8dMIZN8Q==", + "dev": true, "funding": { "url": "https://github.com/sponsors/oxc-project" } @@ -332,6 +948,7 @@ "cpu": [ "arm" ], + "dev": true, "optional": true, "os": [ "android" @@ -347,6 +964,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "android" @@ -362,6 +980,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "darwin" @@ -377,6 +996,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "darwin" @@ -392,6 +1012,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "freebsd" @@ -407,6 +1028,7 @@ "cpu": [ "arm" ], + "dev": true, "optional": true, "os": [ "linux" @@ -422,6 +1044,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -437,6 +1060,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -452,6 +1076,7 @@ "cpu": [ "ppc64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -467,6 +1092,7 @@ "cpu": [ "s390x" ], + "dev": true, "optional": true, "os": [ "linux" @@ -482,6 +1108,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -497,6 +1124,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -512,6 +1140,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "openharmony" @@ -527,6 +1156,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "win32" @@ -542,6 +1172,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "win32" @@ -553,12 +1184,339 @@ "node_modules/@rolldown/pluginutils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", - "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==" + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "dev": true + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.65.0.tgz", + "integrity": "sha512-t2AnVba25baFdq7gczzS13JyVcdubLVbFX1X04mxrggDrTQPUXNv3XM0k9H1hr5tqvg7AVvtQ720QHAj0iYqhg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.65.0.tgz", + "integrity": "sha512-dNONUaEwPGhl/nuO2KV8VABWlcjYyU6KtZGN8dQv5OS5JU7JSCxPijVNKXbRJd0iuTzTiJ4TjPt/4bbvDRNiMQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.65.0.tgz", + "integrity": "sha512-zWQqUH+9zavr2Bxuzfpuv2SIF3X31cr58TvSQC9o1GhpOvkqRwr60GkZdQcudyT/BEgdpdSafjgd2I13MbTL7g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.65.0.tgz", + "integrity": "sha512-RQYreBFWtO4//hIuOaZkYUnF/lPU4lz35dveDimDshWCJvVisVtJ/shmT9bkXK8wFJY+FJF89X6F3Cq1qI3LCw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.65.0.tgz", + "integrity": "sha512-A0NfMj6Cuh/9BE5k3awJKv6HoxFVXIcLAb6SZqAMoxUHPA1ZNNK4RsGuUPD/vL7nEAm9LG+ZzXWWTrnC0XtkpA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.65.0.tgz", + "integrity": "sha512-BI6/H7q3aP0I7S7GOrjyxTjgEJlSnovXE38+bdxBpuKN6z+d//uF+T+VQ3Q7ltJL/71p17ufartARX9Ja5gOGQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.65.0.tgz", + "integrity": "sha512-W1vUprf09RWaVWnsFP1vlUkEWJzTZlpObOEAYZXt9Fq0UVAOYEkeGr7wBX7McKqqIQskXdBnpiOMgwPujordgA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.65.0.tgz", + "integrity": "sha512-s8QTcZWgrl9haFzEGIqyE5BWyo89pFDGLMBFZ752WYxk8DJwNU/O1X6pZgPw829d9/sm6CCHyrMP3aurt76p1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.65.0.tgz", + "integrity": "sha512-ke1f6dLRzkqveyjjF2fkEwQYZvxHtNNwjegY8nJrwcO0Bdqr8CzFO/pKE0Bns13cx0qz2Ba2Y0Hs3dSwMdnHxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.65.0.tgz", + "integrity": "sha512-926SMeUcy4y18Rz/w2aJiUKOnyAnm6czg72bXkQEaeemsll+Wr0hnsjb2BGRpHvWgwAMYy5ACJCotbvfLCfj0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.65.0.tgz", + "integrity": "sha512-6T7JNRP1hc4hqF2dUsEoVLOt9K8tmODoCLldtQRYnrddGGQY8Gqe2pM/qMMUo7EMowpP7oa2N95k0/8sYK/ipw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.65.0.tgz", + "integrity": "sha512-SImGFl1Je5kpyAgOCPONVT7h6ASV8mAUwGRjY7eZvVjPg//PfHOXgI+P241RF/+HqsA4PP3qD527ysWFKNQyhQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.65.0.tgz", + "integrity": "sha512-XeDTbmPF1Yu5asfXGPrMkWoxTDhgryQbmw5Q1+R582O51VNCk23J6f2pDrsAp5YkneBVBwtExx6ZGOb9D2aQ6A==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.65.0.tgz", + "integrity": "sha512-VS55JUI/1nsljmV/jfqNkLZXFw8uMO8nNlfoHmSevNf6fO3neuhyDvx9dv3c/Ytt8r/431SL8Qax1dpYvOMZTg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.65.0.tgz", + "integrity": "sha512-Vblw84TbX7RS4la1Y4+yQ7aore/oSyaNtFbppuBr5Vs/4LfBeXKq9dIfoExw6zOvRERqd2rRAjnZRaMhH/0x5w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.65.0.tgz", + "integrity": "sha512-7+gHjtONvKgwR9InTKFaLq53f6YzBJkgeMRBENdWTsQr+spahGqQm8HF5aXpq8i4JaRrOqYyv6Zn1WltDTxaZQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.65.0.tgz", + "integrity": "sha512-KvNDC0J6s4vVHhtJ6KrDXU0Er0au/hmRIBq/+1maCV8TseGupeKizq0bWcrbp2HE1T8xoknvN0Q/KZ/YF0qX3w==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.65.0.tgz", + "integrity": "sha512-GExdD15WPvu/x/drELjVam7vX8EsPgvTMOa/iJL/p/4m/oOqzbb7JXZg8fXR4hlXtg/sF2zyTZ3bR0AEtEMlhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.65.0.tgz", + "integrity": "sha512-8sT9PemIZfIMED4Vd4KGoOXVDj5CMSWNcGdbheRUx9TYS03yOWdT2Q0lXPyEyNBB9YTilwewIQKNIBk6Nxi0Kg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.65.0.tgz", + "integrity": "sha512-pO6Ehi0jo5yE0R6PltKhJhv9mlIiyzBJk5N5NUF2OF6xtVKI+1bdXxj/rb0jGXy3hck1ELVT0QPY3tzkAm360w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.65.0.tgz", + "integrity": "sha512-vo7N3/+cjjPDYr8vtxC+qSNgWa9sDvJ7g8N8R5SWqFY4WiNH1ULcAU70SKVyHeiIZOYYwNP9pTipmhN5sl1NPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.65.0.tgz", + "integrity": "sha512-ArwvgFAbjKcDM7qqotZ4OVYf+UMT9xH2YzkCzK4+AuZSDihMlz1Ekoe4INwBVXzn2mnJzuIYOcSx07iTBijGRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.65.0.tgz", + "integrity": "sha512-QGMmK4/cxKE/36FoLMSHQBCyymv/eFTnsCvvsBF0rgmOvVbvX78VWZRerL3dHa77f4pM6Xcc2iGDhJ10w/svKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.65.0.tgz", + "integrity": "sha512-XfKYFWHIPs4HPODIMsGF1IKlS3H1e3WokUZIgpmn4+uNnZBlnRDDHEylNyazbQXwhMKZre68OjtRYbKqb5+j8w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.65.0.tgz", + "integrity": "sha512-wPWi++K4Bs1VR4XihOhfGi4IGX6Cub7FlerTf8X2v+2BtDHddgSqWCXwGD+h2yAe4/niIhNDwAltioOC+wEogQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] }, "node_modules/@testing-library/dom": { "version": "9.3.4", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz", "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==", + "dev": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -577,6 +1535,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@testing-library/vue/-/vue-8.1.0.tgz", "integrity": "sha512-ls4RiHO1ta4mxqqajWRh8158uFObVrrtAPoxk7cIp4HrnQUj/ScKzqz53HxYpG3X6Zb7H2v+0eTGLSoy8HQ2nA==", + "dev": true, "dependencies": { "@babel/runtime": "^7.23.2", "@testing-library/dom": "^9.3.3", @@ -595,39 +1554,70 @@ } } }, + "node_modules/@toldo/core": { + "version": "0.0.1", + "resolved": "file:../../packages/core" + }, + "node_modules/@toldo/data": { + "version": "0.0.1", + "resolved": "file:../../packages/data", + "dependencies": { + "@toldo/core": "file:../core", + "dexie": "^4.0.10" + } + }, + "node_modules/@toldo/services": { + "version": "0.0.1", + "resolved": "file:../../packages/services", + "dependencies": { + "@toldo/core": "file:../core", + "@toldo/data": "file:../data" + } + }, + "node_modules/@toldo/ui": { + "version": "0.0.1", + "resolved": "file:../../packages/ui", + "dependencies": { + "@toldo/core": "file:../core", + "@toldo/services": "file:../services" + } + }, "node_modules/@types/aria-query": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==" - }, - "node_modules/@types/chai": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", - "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", - "dependencies": { - "@types/deep-eql": "*", - "assertion-error": "^2.0.1" - } - }, - "node_modules/@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==" + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true }, "node_modules/@types/estree": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", - "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==" + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true + }, + "node_modules/@types/fs-extra": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.5.tgz", + "integrity": "sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } }, "node_modules/@types/node": { "version": "24.19.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.19.2.tgz", "integrity": "sha512-93d49wCWJkCyN87MxLpNN6KXPCwFw7bVUg79mGUV1OS40JGWwVCr8n61DXCSqz7CV6/VfPkb7xec7uP2M+QHWQ==", - "devOptional": true, + "dev": true, "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, + "node_modules/@types/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-+OpjSaq85gvlZAYINyzKpLeiFkSC4EsC6IIiT6v6TLSU5k5U83fHGj9Lel8oKEXM0HqgrMVCjXPDPVICtxF7EQ==", + "dev": true + }, "node_modules/@vitejs/plugin-vue": { "version": "6.0.10", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.10.tgz", @@ -644,52 +1634,82 @@ "vue": "^3.2.25 || ^3.6.0-rc.10" } }, - "node_modules/@vitest/mocker": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.5.tgz", - "integrity": "sha512-xLL3lkDegJZw+MGoGaCCsFayDZthGgpAtr3Vziyfc4p7xH89K7KRPcRBBh/kEYm0Aqkt5DtTmkYpBtRV/FrHZg==", + "node_modules/@vitest/expect": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.9.tgz", + "integrity": "sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==", + "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "0.3.31", - "@vitest/spy": "5.0.5", - "estree-walker": "^3.0.3", - "magic-string": "^1.4.3" + "@vitest/spy": "2.1.9", + "@vitest/utils": "2.1.9", + "chai": "^5.1.2", + "tinyrainbow": "^1.2.0" }, "funding": { "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9 || ^3.0.0", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } } }, - "node_modules/@vitest/mocker/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "node_modules/@vitest/pretty-format": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.9.tgz", + "integrity": "sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==", + "dev": true, "dependencies": { - "@types/estree": "^1.0.0" + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/mocker/node_modules/magic-string": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.3.tgz", - "integrity": "sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==", + "node_modules/@vitest/runner": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.9.tgz", + "integrity": "sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==", + "dev": true, "dependencies": { - "@jridgewell/sourcemap-codec": "^1.6.0" + "@vitest/utils": "2.1.9", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.9.tgz", + "integrity": "sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==", + "dev": true, + "dependencies": { + "@vitest/pretty-format": "2.1.9", + "magic-string": "^0.30.12", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/spy": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.5.tgz", - "integrity": "sha512-lwJRExuH417257Q5wv9QYugN9IMJkoxcrKrYxGPQkBzl7wlNpTUxD/5yNX4ESKVUIShKPgkGchYPFMWOOk0wzw==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.9.tgz", + "integrity": "sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==", + "dev": true, + "dependencies": { + "tinyspy": "^3.0.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.9.tgz", + "integrity": "sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==", + "dev": true, + "dependencies": { + "@vitest/pretty-format": "2.1.9", + "loupe": "^3.1.2", + "tinyrainbow": "^1.2.0" + }, "funding": { "url": "https://opencollective.com/vitest" } @@ -766,6 +1786,11 @@ "@vue/shared": "3.5.44" } }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" + }, "node_modules/@vue/language-core": { "version": "3.3.13", "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.3.13.tgz", @@ -828,6 +1853,7 @@ "version": "2.5.1", "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.5.1.tgz", "integrity": "sha512-V/4a99odJ7hapr0bRt35XxljGk8hefq31gSOnlKTcEq2fUeoj2qb+FcpJYfQu4qfYhW9Ug+O2+CZ3QmZ7gXDzA==", + "dev": true, "dependencies": { "js-beautify": "^2.0.0", "vue-component-type-helpers": "^3.0.0" @@ -861,14 +1887,33 @@ } } }, + "node_modules/@xmldom/xmldom": { + "version": "0.9.12", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.12.tgz", + "integrity": "sha512-5AXjrcMClTryPe9LgZrygpB1lj7s0S9E0+W+AHaVKAVyHanafK86iPSvG5xHVSp/jC+VH1UXu0TAEmY279xH7A==", + "dev": true, + "engines": { + "node": ">=14.6" + } + }, "node_modules/abbrev": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-5.0.0.tgz", "integrity": "sha512-/XrFJgzQQQHpti1raDJC6m4ws6aNktmjBlhk8Fdlk7LwCEuDoieEJJY9OFHjfiFJFFRM2tK+Ky/IsfbbmlMu1w==", + "dev": true, "engines": { "node": "^22.22.2 || ^24.15.0 || >=26.0.0" } }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, "node_modules/alien-signals": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-3.2.1.tgz", @@ -879,6 +1924,7 @@ "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" } @@ -887,6 +1933,7 @@ "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" }, @@ -901,6 +1948,7 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, "dependencies": { "deep-equal": "^2.0.5" } @@ -909,6 +1957,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, "dependencies": { "call-bound": "^1.0.3", "is-array-buffer": "^3.0.5" @@ -924,14 +1973,40 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, "engines": { "node": ">=12" } }, + "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/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/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -946,22 +2021,57 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, "engines": { "node": "18 || 20 || >=22" } }, - "node_modules/bidi-js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.1.0.tgz", - "integrity": "sha512-fX1Onk0tdVPC7obPWB5EbJ1z7NVhLq4m2xZLq2YXBkxzMXIGRpNMU88n0EPgWseKl12J7zXs7qrDxPK4sRs2fg==", + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bplist-parser": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz", + "integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==", + "dev": true, "dependencies": { - "require-from-string": "^2.0.2" + "big-integer": "1.6.x" + }, + "engines": { + "node": ">= 5.10.0" } }, "node_modules/brace-expansion": { "version": "5.0.12", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.12.tgz", "integrity": "sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==", + "dev": true, "dependencies": { "balanced-match": "^4.0.2" }, @@ -969,10 +2079,29 @@ "node": "20 || >=22" } }, + "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/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/call-bind": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "dev": true, "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", @@ -990,6 +2119,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" @@ -1002,6 +2132,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" @@ -1014,9 +2145,17 @@ } }, "node_modules/chai": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.3.0.tgz", - "integrity": "sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", + "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", + "dev": true, + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, "engines": { "node": ">=18" } @@ -1025,6 +2164,7 @@ "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" @@ -1036,10 +2176,29 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/check-error": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz", + "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==", + "dev": true, + "engines": { + "node": ">= 16" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/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" }, @@ -1050,12 +2209,26 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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": "14.0.3", "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", + "dev": true, "engines": { "node": ">=20" } @@ -1064,49 +2237,100 @@ "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/css-tree": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", - "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, "dependencies": { - "mdn-data": "2.27.1", - "source-map-js": "^1.2.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "node": ">= 8" } }, + "node_modules/cssstyle": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", + "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", + "dev": true, + "dependencies": { + "@asamuzakjp/css-color": "^3.2.0", + "rrweb-cssom": "^0.8.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cssstyle/node_modules/rrweb-cssom": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", + "dev": true + }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" }, "node_modules/data-urls": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-8.0.0.tgz", - "integrity": "sha512-JQUCCK+/CAGbGGx618PlFZMXH81Jtj7t73CHv9dd/zVWvxgGT2zLFRjnKb+Ng46GIwcy+f7f88qd4duqllK+WQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dev": true, "dependencies": { - "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^17.1.2" + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" }, "engines": { - "node": "^22.14.0 || >=24.0.0" + "node": ">=18" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/decimal.js": { "version": "10.6.0", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", - "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==" + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true + }, + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "engines": { + "node": ">=6" + } }, "node_modules/deep-equal": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.5", @@ -1138,6 +2362,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -1150,10 +2375,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/define-properties": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -1166,10 +2401,20 @@ "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/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, "engines": { "node": ">=8" } @@ -1182,12 +2427,14 @@ "node_modules/dom-accessibility-api": { "version": "0.5.16", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", @@ -1201,6 +2448,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-3.0.2.tgz", "integrity": "sha512-T0ix8GhtxyKVfUFEcvdNDt3YGqlwkFHbD4/5bgFUDgFmxhI/cSRAeJ87/Sz//Cq8Eam6JX/e23RkoFO71P7aAA==", + "dev": true, "dependencies": { "@one-ini/wasm": "0.2.1", "commander": "^14.0.3", @@ -1214,6 +2462,24 @@ "node": ">=20" } }, + "node_modules/elementtree": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", + "integrity": "sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg==", + "dev": true, + "dependencies": { + "sax": "1.1.4" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "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/entities": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", @@ -1225,10 +2491,20 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, "engines": { "node": ">= 0.4" } @@ -1237,6 +2513,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, "engines": { "node": ">= 0.4" } @@ -1245,6 +2522,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -1261,14 +2539,16 @@ } }, "node_modules/es-module-lexer": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.2.tgz", - "integrity": "sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==" + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true }, "node_modules/es-object-atoms": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, "dependencies": { "es-errors": "^1.3.0" }, @@ -1276,6 +2556,64 @@ "node": ">= 0.4" } }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz", + "integrity": "sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.2", + "@esbuild/android-arm": "0.28.2", + "@esbuild/android-arm64": "0.28.2", + "@esbuild/android-x64": "0.28.2", + "@esbuild/darwin-arm64": "0.28.2", + "@esbuild/darwin-x64": "0.28.2", + "@esbuild/freebsd-arm64": "0.28.2", + "@esbuild/freebsd-x64": "0.28.2", + "@esbuild/linux-arm": "0.28.2", + "@esbuild/linux-arm64": "0.28.2", + "@esbuild/linux-ia32": "0.28.2", + "@esbuild/linux-loong64": "0.28.2", + "@esbuild/linux-mips64el": "0.28.2", + "@esbuild/linux-ppc64": "0.28.2", + "@esbuild/linux-riscv64": "0.28.2", + "@esbuild/linux-s390x": "0.28.2", + "@esbuild/linux-x64": "0.28.2", + "@esbuild/netbsd-arm64": "0.28.2", + "@esbuild/netbsd-x64": "0.28.2", + "@esbuild/openbsd-arm64": "0.28.2", + "@esbuild/openbsd-x64": "0.28.2", + "@esbuild/openharmony-arm64": "0.28.2", + "@esbuild/sunos-x64": "0.28.2", + "@esbuild/win32-arm64": "0.28.2", + "@esbuild/win32-ia32": "0.28.2", + "@esbuild/win32-x64": "0.28.2" + } + }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", @@ -1285,22 +2623,34 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz", "integrity": "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==", + "dev": true, "engines": { "node": ">=12.0.0" } }, "node_modules/fake-indexeddb": { - "version": "6.2.6", - "resolved": "https://registry.npmjs.org/fake-indexeddb/-/fake-indexeddb-6.2.6.tgz", - "integrity": "sha512-ihhmr0KoET51jT8R4YhbUYuLLvr1qqO6INISygtN16i8loR8kAxtAUr4+EKHTSMjL+lggaAn4OC7DRqzrNgnuQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/fake-indexeddb/-/fake-indexeddb-5.0.2.tgz", + "integrity": "sha512-cB507r5T3D55DfclY01GLkninZLfU7HXV/mhVRTnTRm5k2u+fY7Fof2dBkr80p5t7G7dlA/G5dI87QiMdPpMCQ==", + "dev": true, "engines": { "node": ">=18" } }, + "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/fdir": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, "engines": { "node": ">=12.0.0" }, @@ -1317,6 +2667,7 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, "dependencies": { "is-callable": "^1.2.7" }, @@ -1327,10 +2678,72 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/form-data": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.4", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, + "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-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -1344,6 +2757,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -1352,6 +2766,7 @@ "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" } @@ -1360,6 +2775,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", @@ -1383,6 +2799,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" @@ -1395,6 +2812,7 @@ "version": "13.0.6", "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "dev": true, "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", @@ -1411,6 +2829,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -1418,10 +2837,17 @@ "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/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -1433,6 +2859,7 @@ "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" } @@ -1441,6 +2868,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, "dependencies": { "es-define-property": "^1.0.0" }, @@ -1452,6 +2880,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -1463,6 +2892,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, "dependencies": { "has-symbols": "^1.0.3" }, @@ -1477,6 +2907,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -1485,25 +2916,72 @@ } }, "node_modules/html-encoding-sniffer": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-7.0.0.tgz", - "integrity": "sha512-UikN5yr7xsCDAq87Or5or0PAlD3HJJOKVzM05az588WnpDJ4Ux7a2A53Qi6gofGg2/EtvF/H4hCi/TXfCW4Y6w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dev": true, "dependencies": { - "@exodus/bytes": "^1.15.1" + "whatwg-encoding": "^3.1.1" }, "engines": { - "node": "^22.13.0 || >=24.0.0" + "node": ">=18" } }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "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/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": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true }, "node_modules/internal-slot": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.2", @@ -1517,6 +2995,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "dev": true, "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" @@ -1532,6 +3011,7 @@ "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", @@ -1548,6 +3028,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, "dependencies": { "has-bigints": "^1.0.2" }, @@ -1562,6 +3043,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" @@ -1577,6 +3059,7 @@ "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" }, @@ -1588,6 +3071,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" @@ -1599,10 +3083,35 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-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-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -1614,6 +3123,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" @@ -1628,12 +3138,14 @@ "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==" + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", @@ -1651,6 +3163,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -1662,6 +3175,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, "dependencies": { "call-bound": "^1.0.3" }, @@ -1676,6 +3190,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" @@ -1691,6 +3206,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, "dependencies": { "call-bound": "^1.0.2", "has-symbols": "^1.1.0", @@ -1707,6 +3223,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -1718,6 +3235,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, "dependencies": { "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" @@ -1729,15 +3247,35 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "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/js-beautify": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-2.0.3.tgz", "integrity": "sha512-cyFbh3tkPhknnTD/0bLf0T0yy2ZIbqL05mttzbt4y1Zfr7NxqXQZ62dkBLKs3oHH/lpjmDRAnciJiSUyOy8XwQ==", + "dev": true, "dependencies": { "config-chain": "^1.1.13", "editorconfig": "^3.0.2", @@ -1757,44 +3295,48 @@ "node_modules/js-cookie": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.8.tgz", - "integrity": "sha512-yeJd4aNAdYZQjaon2bpD/Gb0B/omw7HQOsynXXcOiWVCacbBcPlgn8S/d1X6blFSaHao7ozqtW7NZW19xpCtIw==" + "integrity": "sha512-yeJd4aNAdYZQjaon2bpD/Gb0B/omw7HQOsynXXcOiWVCacbBcPlgn8S/d1X6blFSaHao7ozqtW7NZW19xpCtIw==", + "dev": true }, "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==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/jsdom": { - "version": "30.1.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-30.1.3.tgz", - "integrity": "sha512-hQMUPvRgN7KxsfIytDQji7bimuJeRQa6Qo5+iuiZQk5CafeRxLIA10/cG5YCBFNpD9RO3oqIiN4CO1Y44kxqXg==", + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-25.0.1.tgz", + "integrity": "sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==", + "dev": true, "dependencies": { - "@asamuzakjp/css-color": "^7.1.3", - "@asamuzakjp/dom-selector": "^10.0.3", - "@bramus/specificity": "^2.4.2", - "@csstools/css-syntax-patches-for-csstree": "^1.1.15", - "@exodus/bytes": "^1.16.0", - "css-tree": "^3.2.1", - "data-urls": "^8.0.0", - "decimal.js": "^10.6.0", - "html-encoding-sniffer": "^7.0.0", + "cssstyle": "^4.1.0", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.5", "is-potential-custom-element-name": "^1.0.1", - "lru-cache": "^11.5.3", - "parse5": "^8.0.1", + "nwsapi": "^2.2.12", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.7.1", "saxes": "^6.0.0", - "tough-cookie": "^6.0.2", - "undici": "^8.12.1", - "w3c-xmlserializer": "^6.0.0", - "webidl-conversions": "^8.0.1", - "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^17.2.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^5.0.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.18.0", "xml-name-validator": "^5.0.0" }, "engines": { - "node": "^22.22.2 || ^24.15.0 || >=26.0.0" + "node": ">=18" }, "peerDependencies": { - "canvas": "^3.2.3" + "canvas": "^2.11.2" }, "peerDependenciesMeta": { "canvas": { @@ -1802,10 +3344,32 @@ } } }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/lightningcss": { "version": "1.33.0", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz", "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==", + "dev": true, "dependencies": { "detect-libc": "^2.0.3" }, @@ -1837,6 +3401,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "android" @@ -1856,6 +3421,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "darwin" @@ -1875,6 +3441,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "darwin" @@ -1894,6 +3461,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "freebsd" @@ -1913,6 +3481,7 @@ "cpu": [ "arm" ], + "dev": true, "optional": true, "os": [ "linux" @@ -1932,6 +3501,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -1951,6 +3521,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -1970,6 +3541,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -1989,6 +3561,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -2008,6 +3581,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "win32" @@ -2027,6 +3601,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "win32" @@ -2039,10 +3614,17 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/loupe": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", + "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", + "dev": true + }, "node_modules/lru-cache": { "version": "11.5.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz", "integrity": "sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==", + "dev": true, "engines": { "node": "20 || >=22" } @@ -2051,6 +3633,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, "bin": { "lz-string": "bin/bin.js" } @@ -2067,19 +3650,37 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, "engines": { "node": ">= 0.4" } }, - "node_modules/mdn-data": { - "version": "2.27.1", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", - "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==" + "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/minimatch": { "version": "10.2.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", + "dev": true, "dependencies": { "brace-expansion": "^5.0.8" }, @@ -2094,10 +3695,54 @@ "version": "7.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, "engines": { "node": ">=16 || 14 >=14.17" } }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, "node_modules/muggle-string": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", @@ -2121,10 +3766,45 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/native-run": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/native-run/-/native-run-2.0.3.tgz", + "integrity": "sha512-U1PllBuzW5d1gfan+88L+Hky2eZx+9gv3Pf6rNBxKbORxi7boHzqiA6QFGSnqMem4j0A9tZ08NMIs5+0m/VS1Q==", + "dev": true, + "dependencies": { + "@ionic/utils-fs": "^3.1.7", + "@ionic/utils-terminal": "^2.3.4", + "bplist-parser": "^0.3.2", + "debug": "^4.3.4", + "elementtree": "^0.1.7", + "ini": "^4.1.1", + "plist": "^3.1.0", + "split2": "^4.2.0", + "through2": "^4.0.2", + "tslib": "^2.6.2", + "yauzl": "^2.10.0" + }, + "bin": { + "native-run": "bin/native-run" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/native-run/node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/nopt": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/nopt/-/nopt-10.0.1.tgz", "integrity": "sha512-df3sBr/6ax9hSGuC3CspvLlbnX8cP5L5nZwXF8cGN8l0zSWR6BvzmQ6jPUKjvo6+/xdpkNvEcucBNUdBeeV13g==", + "dev": true, "dependencies": { "abbrev": "^5.0.0" }, @@ -2135,10 +3815,17 @@ "node": "^22.22.2 || ^24.15.0 || >=26.0.0" } }, + "node_modules/nwsapi": { + "version": "2.2.28", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.28.tgz", + "integrity": "sha512-IlVB7OS7qrOsVYlpnFIkETjMwT9jwvmocJmmM+GZU/PAB3uGi9Ezd7vcWhWBUnSc0ya4ppmQITOyP1ez9gg8cg==", + "dev": true + }, "node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -2150,6 +3837,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dev": true, "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1" @@ -2165,6 +3853,7 @@ "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" } @@ -2173,6 +3862,7 @@ "version": "4.1.7", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", @@ -2188,35 +3878,42 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/obug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/obug/-/obug-3.0.0.tgz", - "integrity": "sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==", - "funding": [ - "https://github.com/sponsors/sxzz", - "https://opencollective.com/debug" - ], + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, "engines": { - "node": ">=12.20.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/parse5": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", - "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, "dependencies": { - "entities": "^8.0.0" + "entities": "^6.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" } }, "node_modules/parse5/node_modules/entities": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-8.1.0.tgz", - "integrity": "sha512-kxL7msIffSuh9aaFAMD7rxAIuTRMAHMeBtgHW2yUdWw732ZNh4MehkF2gdjvtdmikkaIP9bFDDJOPlsvm7avrA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, "engines": { - "node": ">=20.19.0" + "node": ">=0.12" }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" @@ -2228,10 +3925,20 @@ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", "dev": true }, + "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-scurry": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "dev": true, "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" @@ -2243,6 +3950,27 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", + "dev": true, + "engines": { + "node": ">= 14.16" + } + }, + "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/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -2252,6 +3980,7 @@ "version": "4.0.7", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", + "dev": true, "engines": { "node": ">=12" }, @@ -2259,10 +3988,25 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/plist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.1.tgz", + "integrity": "sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA==", + "dev": true, + "dependencies": { + "@xmldom/xmldom": "^0.9.10", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, "engines": { "node": ">= 0.4" } @@ -2298,6 +4042,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -2311,6 +4056,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { "node": ">=10" }, @@ -2318,15 +4064,39 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "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==" + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, "engines": { "node": ">=6" } @@ -2334,12 +4104,28 @@ "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/regexp.prototype.flags": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", @@ -2355,18 +4141,118 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/rimraf": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz", + "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==", + "dev": true, + "dependencies": { + "glob": "^9.2.0" + }, + "bin": { + "rimraf": "dist/cjs/src/bin.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/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/rimraf/node_modules/brace-expansion": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.7.tgz", + "integrity": "sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.7.tgz", + "integrity": "sha512-V+1uQNdzybxa14e/p00HZnQNNcTjnRJjDxg2V8wtkjFctq4M7hXFws4oekyTP0Jebeq7QYtpFyOeBAjc88zvYg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minipass": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rimraf/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/path-scurry/node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" } }, "node_modules/rolldown": { "version": "1.2.15", "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.15.tgz", "integrity": "sha512-6odND+fel5zVw3I4Yc2e69gvguDnX0CAAGiNDZSq4ik5WUcaLrkD2GLuog0XcODbor31hZ5ayEMgVDno+KPV5g==", + "dev": true, "dependencies": { "@oxc-project/types": "=0.155.0", "@rolldown/pluginutils": "^1.0.0" @@ -2395,10 +4281,82 @@ "@rolldown/binding-win32-x64-msvc": "1.2.15" } }, + "node_modules/rollup": { + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.65.0.tgz", + "integrity": "sha512-QVCvQUTGDN6JRwi3jVGCY3H4aTHvi9rX0LyoBMkGUvdh/Z6O51CzcLz85BWZaTCDGhl6ySGqYZs+xI1jmPqGcw==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@napi-rs/lzma-linux-x64-gnu": "1.5.1", + "@rollup/rollup-android-arm-eabi": "4.65.0", + "@rollup/rollup-android-arm64": "4.65.0", + "@rollup/rollup-darwin-arm64": "4.65.0", + "@rollup/rollup-darwin-x64": "4.65.0", + "@rollup/rollup-freebsd-arm64": "4.65.0", + "@rollup/rollup-freebsd-x64": "4.65.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.65.0", + "@rollup/rollup-linux-arm-musleabihf": "4.65.0", + "@rollup/rollup-linux-arm64-gnu": "4.65.0", + "@rollup/rollup-linux-arm64-musl": "4.65.0", + "@rollup/rollup-linux-loong64-gnu": "4.65.0", + "@rollup/rollup-linux-loong64-musl": "4.65.0", + "@rollup/rollup-linux-ppc64-gnu": "4.65.0", + "@rollup/rollup-linux-ppc64-musl": "4.65.0", + "@rollup/rollup-linux-riscv64-gnu": "4.65.0", + "@rollup/rollup-linux-riscv64-musl": "4.65.0", + "@rollup/rollup-linux-s390x-gnu": "4.65.0", + "@rollup/rollup-linux-x64-gnu": "4.65.0", + "@rollup/rollup-linux-x64-musl": "4.65.0", + "@rollup/rollup-openbsd-x64": "4.65.0", + "@rollup/rollup-openharmony-arm64": "4.65.0", + "@rollup/rollup-win32-arm64-msvc": "4.65.0", + "@rollup/rollup-win32-ia32-msvc": "4.65.0", + "@rollup/rollup-win32-x64-gnu": "4.65.0", + "@rollup/rollup-win32-x64-msvc": "4.65.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", + "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", + "dev": true + }, + "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.1.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", @@ -2411,10 +4369,23 @@ "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/sax": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", + "integrity": "sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==", + "dev": true + }, "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" }, @@ -2426,6 +4397,7 @@ "version": "7.8.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, "bin": { "semver": "bin/semver.js" }, @@ -2437,6 +4409,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -2453,6 +4426,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -2463,10 +4437,32 @@ "node": ">= 0.4" } }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/side-channel": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "dev": true, "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4", @@ -2485,6 +4481,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4" @@ -2500,6 +4497,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", @@ -2517,6 +4515,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", @@ -2531,6 +4530,41 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "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/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "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/source-map-js": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz", @@ -2539,15 +4573,32 @@ "node": ">=0.10.0" } }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "dev": true, + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, "node_modules/std-env": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.3.0.tgz", - "integrity": "sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag==" + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "dev": true }, "node_modules/stop-iteration-iterator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, "dependencies": { "es-errors": "^1.3.0", "internal-slot": "^1.1.0" @@ -2556,10 +4607,46 @@ "node": ">= 0.4" } }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/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" }, @@ -2567,26 +4654,65 @@ "node": ">=8" } }, - "node_modules/tinybench": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-6.2.2.tgz", - "integrity": "sha512-nIZ2N2dFpjBsg2hgitKu7mA+FvsIJuGJOwysRngmVRRmWgR/UyPjwJj8c/fT/dhm8EkHnF5EOogRf+0Z2qrimA==", + "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/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, "engines": { - "node": ">=20.0.0" + "node": ">=10" } }, - "node_modules/tinyexec": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.1.tgz", - "integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==", + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, "engines": { - "node": ">=18" + "node": ">=8" } }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true + }, "node_modules/tinyglobby": { "version": "0.2.17", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.4" @@ -2598,42 +4724,82 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tinypool": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "dev": true, + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/tldts": { - "version": "7.4.19", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.4.19.tgz", - "integrity": "sha512-48dH6aSpQnpbzDUc4vIQZ1VjB8tkK+e8c1yx05/SZK+rkssgjEOlxDd/yU8/a4vGYQ9vRgJr9dwMq9TJ0b3X2Q==", + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", + "dev": true, "dependencies": { - "tldts-core": "^7.4.19" + "tldts-core": "^6.1.86" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "7.4.19", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.4.19.tgz", - "integrity": "sha512-goNXV6Ho9TIOfpJZanTd6CKG5DyYgYAL+k+22T0SLh8l6+KHIfBUPFuePuSZv05UttIaaLmI9tb7TmGIdK5AkQ==" + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", + "dev": true }, "node_modules/tough-cookie": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.2.tgz", - "integrity": "sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", + "dev": true, "dependencies": { - "tldts": "^7.0.5" + "tldts": "^6.1.32" }, "engines": { "node": ">=16" } }, "node_modules/tr46": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-7.0.0.tgz", - "integrity": "sha512-BcDSDW+SIGWVOns1Zm6Yg91q9AEj7eaID0QDY9oIqJD1A8dscNwMcl9Sms2DeuWCNov1X0/oXanHGYQBSLwZsg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "dev": true, "dependencies": { "punycode": "^2.3.1" }, "engines": { - "node": "^22.14.0 || >=24.0.0" + "node": ">=18" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" } }, "node_modules/tslib": { @@ -2654,24 +4820,41 @@ "node": ">=14.17" } }, - "node_modules/undici": { - "version": "8.12.3", - "resolved": "https://registry.npmjs.org/undici/-/undici-8.12.3.tgz", - "integrity": "sha512-+fdndUTwBP86cVjihTp21hZHo7d6oj1c/47XPA3lL8mM0XHs+C4EkcjmgRsFnFk2f/UONGDy9ItBItmXsLOQHw==", - "engines": { - "node": ">=22.19.0" - } - }, "node_modules/undici-types": { "version": "7.24.6", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==", - "devOptional": true + "dev": true + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "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/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/vite": { "version": "8.3.5", "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.5.tgz", "integrity": "sha512-z1YpjieJ9g0ebTmQpLBv/oq9E3F9EIlOe+7LahW8SrE3LTiG3udBRUXQOlYXP9b+IC2q2phHeVxj9xGlw34OEQ==", + "dev": true, "dependencies": { "lightningcss": "^1.33.0", "picomatch": "^4.0.7", @@ -2744,71 +4927,545 @@ } } }, - "node_modules/vitest": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.5.tgz", - "integrity": "sha512-cPODOMF8YnkiiYtDdHo6n4wWmBrOBBbOIYH2d33M4l3CdNn72h+qMmO6uXffUN6A5AZFXNND/d+krS9mgkXRfg==", + "node_modules/vite-node": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.9.tgz", + "integrity": "sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==", + "dev": true, "dependencies": { - "@types/chai": "^5.2.2", - "@vitest/mocker": "5.0.5", - "chai": "^6.3.0", - "es-module-lexer": "^2.3.2", - "expect-type": "^1.4.0", - "magic-string": "^1.4.3", - "obug": "^3.0.0", - "picomatch": "^4.0.7", - "std-env": "^4.3.0", - "tinybench": "^6.2.2", - "tinyexec": "^1.3.1", - "tinyglobby": "^0.2.17", - "why-is-node-running": "3.2.1" + "cac": "^6.7.14", + "debug": "^4.3.7", + "es-module-lexer": "^1.5.4", + "pathe": "^1.1.2", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-node/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite-node/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/vite-node/node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitest": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.9.tgz", + "integrity": "sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==", + "dev": true, + "dependencies": { + "@vitest/expect": "2.1.9", + "@vitest/mocker": "2.1.9", + "@vitest/pretty-format": "^2.1.9", + "@vitest/runner": "2.1.9", + "@vitest/snapshot": "2.1.9", + "@vitest/spy": "2.1.9", + "@vitest/utils": "2.1.9", + "chai": "^5.1.2", + "debug": "^4.3.7", + "expect-type": "^1.1.0", + "magic-string": "^0.30.12", + "pathe": "^1.1.2", + "std-env": "^3.8.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.1", + "tinypool": "^1.0.1", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.9", + "why-is-node-running": "^2.3.0" }, "bin": { "vitest": "vitest.mjs" }, "engines": { - "node": "^22.12.0 || ^24.0.0 || >=26.0.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "@edge-runtime/vm": "*", - "@opentelemetry/api": "^1.9.0", - "@types/node": "^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "5.0.5", - "@vitest/browser-preview": "5.0.5", - "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0", - "@vitest/coverage-istanbul": "5.0.5", - "@vitest/coverage-v8": "5.0.5", - "@vitest/ui": "5.0.5", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "2.1.9", + "@vitest/ui": "2.1.9", "happy-dom": "*", - "jsdom": "*", - "vite": "^6.4.0 || ^7.0.0 || ^8.0.0" + "jsdom": "*" }, "peerDependenciesMeta": { "@edge-runtime/vm": { "optional": true }, - "@opentelemetry/api": { - "optional": true - }, "@types/node": { "optional": true }, - "@vitest/browser-playwright": { - "optional": true - }, - "@vitest/browser-preview": { - "optional": true - }, - "@vitest/browser-webdriverio": { - "optional": true - }, - "@vitest/coverage-istanbul": { - "optional": true - }, - "@vitest/coverage-v8": { + "@vitest/browser": { "optional": true }, "@vitest/ui": { @@ -2819,18 +5476,507 @@ }, "jsdom": { "optional": true - }, - "vite": { - "optional": false } } }, - "node_modules/vitest/node_modules/magic-string": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.3.tgz", - "integrity": "sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==", + "node_modules/vitest/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/@vitest/mocker": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.9.tgz", + "integrity": "sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==", + "dev": true, "dependencies": { - "@jridgewell/sourcemap-codec": "^1.6.0" + "@vitest/spy": "2.1.9", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.12" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/vitest/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/vitest/node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, "node_modules/vscode-uri": { @@ -2862,7 +6008,23 @@ "node_modules/vue-component-type-helpers": { "version": "3.3.13", "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-3.3.13.tgz", - "integrity": "sha512-02KCxSmKDhIITjKyJ4QT5csP6L0WoRborLqY/34a40+S9uvMvdNgMV0yVjO3p2Gkz3ZoPmFz/0JsGHacwJYTxw==" + "integrity": "sha512-02KCxSmKDhIITjKyJ4QT5csP6L0WoRborLqY/34a40+S9uvMvdNgMV0yVjO3p2Gkz3ZoPmFz/0JsGHacwJYTxw==", + "dev": true + }, + "node_modules/vue-router": { + "version": "4.4.5", + "resolved": "file:vue-router-4.4.5.tgz", + "integrity": "sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } }, "node_modules/vue-tsc": { "version": "3.3.13", @@ -2881,49 +6043,81 @@ } }, "node_modules/w3c-xmlserializer": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-6.0.0.tgz", - "integrity": "sha512-4Nsy8K5Tr6SPDH9jhKJOHf7ChDrc1zufZTVSF7x72hwuEXBqxqk9G6cK+K2NRUtB3iELRJqjXb4JPDMBjMTl2Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, "dependencies": { "xml-name-validator": "^5.0.0" }, "engines": { - "node": "^22.22.2 || ^24.15.0 || >=26.0.0" + "node": ">=18" } }, "node_modules/webidl-conversions": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", - "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", + "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": ">=20" + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" } }, "node_modules/whatwg-mimetype": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", - "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, "engines": { - "node": ">=20" + "node": ">=18" } }, "node_modules/whatwg-url": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-17.3.0.tgz", - "integrity": "sha512-KwOAJrpf+GTgBvcBQJcP38sMF0DsQKdwtG+TxM2pW44P6E5k0hDbWrDmyuJDIF0Uef0aQq0ZoJs+5oI+k8ddhg==", + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "dev": true, "dependencies": { - "@exodus/bytes": "^1.16.0", - "tr46": "^7.0.0", - "webidl-conversions": "^8.0.1" + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" }, "engines": { - "node": "^22.14.0 || >=24.0.0" + "node": ">=18" + } + }, + "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.1.1", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, "dependencies": { "is-bigint": "^1.1.0", "is-boolean-object": "^1.2.1", @@ -2942,6 +6136,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", @@ -2959,6 +6154,7 @@ "version": "1.1.24", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.24.tgz", "integrity": "sha512-wk4Mf4pR5mRP7eYuuTBCIQ9d0ud2Fv2jRLQpfgnRjbOxAFHmjKFValgTpitVKzJJS8ajnYQV2Du1SZ8j6b/EUQ==", + "dev": true, "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.9", @@ -2976,28 +6172,120 @@ } }, "node_modules/why-is-node-running": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-3.2.1.tgz", - "integrity": "sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, "bin": { "why-is-node-running": "cli.js" }, "engines": { - "node": ">=20.11" + "node": ">=8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/ws": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.22.0.tgz", + "integrity": "sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg==", + "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": "5.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, "engines": { "node": ">=18" } }, + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "dev": true, + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "engines": { + "node": ">=8.0" + } + }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "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/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" + } } } } diff --git a/apps/toldo-app/package.json b/apps/toldo-app/package.json index eff22c9..a8f5349 100644 --- a/apps/toldo-app/package.json +++ b/apps/toldo-app/package.json @@ -13,12 +13,13 @@ "dependencies": { "@capacitor/android": "^6.2.1", "@capacitor/core": "^6.2.1", - "@toldo/core": "workspace:*", - "@toldo/data": "workspace:*", - "@toldo/services": "workspace:*", - "@toldo/ui": "workspace:*", + "@toldo/core": "file:../../packages/core", + "@toldo/data": "file:../../packages/data", + "@toldo/services": "file:../../packages/services", + "@toldo/ui": "file:../../packages/ui", "dexie": "^4.0.10", - "vue": "^3.5.44" + "vue": "^3.5.44", + "vue-router": "file:vue-router-4.4.5.tgz" }, "devDependencies": { "@capacitor/cli": "^6.2.1", diff --git a/apps/toldo-app/src/App.vue b/apps/toldo-app/src/App.vue index 388b05e..98240ae 100644 --- a/apps/toldo-app/src/App.vue +++ b/apps/toldo-app/src/App.vue @@ -1,7 +1,3 @@ - - diff --git a/apps/toldo-app/src/components/Layout.vue b/apps/toldo-app/src/components/Layout.vue new file mode 100644 index 0000000..3d073ee --- /dev/null +++ b/apps/toldo-app/src/components/Layout.vue @@ -0,0 +1,29 @@ + + + diff --git a/apps/toldo-app/src/main.ts b/apps/toldo-app/src/main.ts index 2425c0f..7b19912 100644 --- a/apps/toldo-app/src/main.ts +++ b/apps/toldo-app/src/main.ts @@ -1,5 +1,6 @@ import { createApp } from 'vue' import './style.css' import App from './App.vue' +import router from './router' -createApp(App).mount('#app') +createApp(App).use(router).mount('#app') diff --git a/apps/toldo-app/src/router/index.ts b/apps/toldo-app/src/router/index.ts new file mode 100644 index 0000000..57b2723 --- /dev/null +++ b/apps/toldo-app/src/router/index.ts @@ -0,0 +1,32 @@ +import { createRouter, createWebHistory } from 'vue-router'; +import Layout from '../components/Layout.vue'; +import Home from '../views/Home.vue'; +import Inventario from '../views/Inventario.vue'; +import Ventas from '../views/Ventas.vue'; +import Gastos from '../views/Gastos.vue'; +import Cuadre from '../views/Cuadre.vue'; +import Reportes from '../views/Reportes.vue'; +import Ajustes from '../views/Ajustes.vue'; +import Exportar from '../views/Exportar.vue'; + +const router = createRouter({ + history: createWebHistory(), + routes: [ + { + path: '/', + component: Layout, + children: [ + { path: '', component: Home }, + { path: 'inventario', component: Inventario }, + { path: 'ventas', component: Ventas }, + { path: 'gastos', component: Gastos }, + { path: 'cuadre', component: Cuadre }, + { path: 'reportes', component: Reportes }, + { path: 'ajustes', component: Ajustes }, + { path: 'exportar', component: Exportar }, + ] + } + ] +}); + +export default router; diff --git a/apps/toldo-app/src/views/Ajustes.vue b/apps/toldo-app/src/views/Ajustes.vue new file mode 100644 index 0000000..b52e315 --- /dev/null +++ b/apps/toldo-app/src/views/Ajustes.vue @@ -0,0 +1,6 @@ + diff --git a/apps/toldo-app/src/views/Cuadre.vue b/apps/toldo-app/src/views/Cuadre.vue new file mode 100644 index 0000000..02a643b --- /dev/null +++ b/apps/toldo-app/src/views/Cuadre.vue @@ -0,0 +1,6 @@ + diff --git a/apps/toldo-app/src/views/Exportar.vue b/apps/toldo-app/src/views/Exportar.vue new file mode 100644 index 0000000..183dd46 --- /dev/null +++ b/apps/toldo-app/src/views/Exportar.vue @@ -0,0 +1,6 @@ + diff --git a/apps/toldo-app/src/views/Gastos.vue b/apps/toldo-app/src/views/Gastos.vue new file mode 100644 index 0000000..61fc54d --- /dev/null +++ b/apps/toldo-app/src/views/Gastos.vue @@ -0,0 +1,6 @@ + diff --git a/apps/toldo-app/src/views/Home.vue b/apps/toldo-app/src/views/Home.vue new file mode 100644 index 0000000..fb1fde7 --- /dev/null +++ b/apps/toldo-app/src/views/Home.vue @@ -0,0 +1,7 @@ + diff --git a/apps/toldo-app/src/views/Inventario.vue b/apps/toldo-app/src/views/Inventario.vue new file mode 100644 index 0000000..3935334 --- /dev/null +++ b/apps/toldo-app/src/views/Inventario.vue @@ -0,0 +1,6 @@ + diff --git a/apps/toldo-app/src/views/Reportes.vue b/apps/toldo-app/src/views/Reportes.vue new file mode 100644 index 0000000..c007d29 --- /dev/null +++ b/apps/toldo-app/src/views/Reportes.vue @@ -0,0 +1,6 @@ + diff --git a/apps/toldo-app/src/views/Ventas.vue b/apps/toldo-app/src/views/Ventas.vue new file mode 100644 index 0000000..65922fe --- /dev/null +++ b/apps/toldo-app/src/views/Ventas.vue @@ -0,0 +1,6 @@ + diff --git a/apps/toldo-app/vue-router-4.4.5.tgz b/apps/toldo-app/vue-router-4.4.5.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0fa823bc09bc6b0818a8c1e7cf3d54d8a26ad893 GIT binary patch literal 210704 zcmV(@K-Rw>iwFP!000006YRa~b{of)Fgm~a6eUU{03t4w>^KQzih(G|<`;@&NXniJ z#Rv_c0JhcWM!FlM7>V-?-#eT)J5O@fzSOm=K}xpgobRmRT8V}3s@-+jwQJw^GMapd z=CXINzc)NQ9sb+z@wdIb{oS|U3i$8#_O}1u?PpJ)ek-=W`NMbHPoIAG-S)Qv{`>43 z@o(F|%V@m6RZ&Lyzit2OZ~2q^KjiQ1Qi?bGXW}59$h456`DXvDwXw06EpPI8ep!m< zq$QqhKmBuOnae_^r5H|EQ9jMYX_SgLQC`NWc$4K>DK|EbWxj}uBF<6~7vfUpa(pA^ zd6brN+7`21N|DXP{>*ne|;us?j&7W;>L2X9~PAO0X-zC9C%M`z+-|IPl{@Rc|_67WF= zwLd%sU~h&edp`~i&jv5|5BAUg-rjholJQF`29lRQzoQju2aj-vlc`&3;9sXVH9Srv0w8g8zo52r5>~(bZFy>Plp>vJc3Y}q!s&RMY|7}|KKYw5Tx8(aD zh*j@uB|CYxDrMfC{8Id8-&lM9fBWqpw!eAi-T&Wy`}FDm-2eX_f4wIUHiUR0%+`ym zZ@b@i|A0^F@_+X2noA#={e|x~;3VKdZ=inus|#okkIo4Q>~ zeA*B~h+LMdJQYozoqjKNV0sx|?hWzzGd705#xyRLNpy1qKBuc}*?Ej`(!@9N)~cTr}zR2YCY<;Py1Vuc8Fc6TLtGAa5?7>n0jB zJ{LP8E(UoX-88XROSgl+T>{lzM9bzZb>H>HEag4~{MO!Q{S~t`X_hU;j%c>T&I|EL z+&))F@9btNi)bcAl;9~T<0}cQDGsa4!-IyGWw|W+z1}=7FIVI4BwO?r@g&bc3g`ip z(@7pL%ieO8B)xC{^z7N6@L(ybfN;c)3-|ek*_-PqPn(Nku2vLK%4|v8d{nmaoSnSh`{vJo`c5>}1|rq&#HpG~0A!$RU_be?se z;TVZjgQ&NVLVhgs2!+IGQpy~qp0N}X<|(IL@g^%^XOQ|AeDe7%jAQ`-E8anh?3=Hl&%&sk0;Gh)cMz-^Pk(DKaX(2%VbrEQK$R=t-(CD;)D@$5BZQ^DtfmA~Iv$W{F^=b}xV-6#mumH!`@^<){kkpoTB6LOw3uc2 zLPQE$oI-Cg>WxG^6Vo`ClQOx%3mZg6n7S12$I;|N8BadE7tIm;wbUqZpkth)8jZY? z`OP(G7Q|RiBIGgvX*510@dqhhzgC+Sm*VpG9iQl{eiGESt(%1gqdv{81& zX*7%S81MQ0AwAUlKHB{L#i!fRXawkW85NgZBt5+z(}CfCoSh8bpA1ijCqE5ey+0X> z9nm{SY`N&oO*?{jA`6*c$?1t)CeZ{LndYR=n~C(Z@$Yc@CtWxSd)ZVD%I0=U-+ z-?f8w5o#{PG=p9oZKUeLLmuaYRoSF$J>=SumpL@L)6`=l%a{l_%Q zr)_`-52Pa1tOr3Vpa~tQ%#eP-%@JpCl4n_t)CY*b1hr7TkDcr5>kb^V&MHs%SU@99 zcvpGSEtYc9B_fB^_n~RqSw?w*CWVzIf z-iG~)fZtYB%7elRH6&_nFtY*ji$9gz_+~WqHD{!1)|4|M5 z)@pZpJlNAMo^9(EHY+2Ys~?#ARMItMT}q5S%c#6;i$X^EZjvn)SxUoi0x(Y^(sysO0VEw;Xhyr6(+$wH zmbxt(pBptzJalS{#`#@M)y}j<q+l`{S2*Ub+yB@cd)xH z8lUQx$wl9`Xx!Ge?>ZkKG2f5!)FGaJj{Gss|Ml-Oe>i;+@>ei_7AC#v6eKp4C^UZh zOA@Catcl)=X(kKe&y+-&0GV%&dZU(wL1KRAo*q$tp=P_uIu~$4}No5wrNpaUI5O8M|=uvnT=$*3wWqxC64S6}LW42fl zTgNv6C4*?nJhyd^s687E^E}H56pVKB(I@DByV(_Qab@(p@s=Bfbcgz*sLCP^@$6)< z50=IEu0Z;z_naH#a*RsP|l8C9rXoZ4eo`!1}M#zrM!hNA7`My z)k_|yQ~B{|)@(d%FzUiQXw-F0cU99~&+y67aw(&{5Mwz5*%)~rguySkNw4t*tSopJ=D%q`}6@Y^Y(@4Jhl7b6=Thgbl2N$1F-en z`-t8}uao)6mU!AWBNd&eVpsp{n{J6r=jEjZUtx?vyQclgmOm}~6M;$Le?ET>OpZHR zpYHX<2Pv1hArH+3sNXZTdY~9iyJk+e3O&-ymRQqFasOtlbk^kwA9TE^@YMr-kKxaL z{W&z)h_^7cU&sj0zM>$!##v4?8tu-qY-cuVi_t^m6-GA2HY++?B?;LS5bBn2HUs$UhPpH(AX!fTjfsBFvK4p+mhSX4VR(RTKYtbv6yR=| z9c0%s--EBUx_EIGKgZ=|6PmhjTSi9XZBkI2z0;tH79box{+g}h(gpBW0xRA2T@V(17{$1MATgXCoQLp4x%HTKDQc=?Z)HU#!59~!N$Av@nemi z_Gfo?Y`|6{Yes|;O+CPK1K^@r6cgXIx= zDsNgF@<{g}7;!rH=wui@`AFW4oTgzIHPuF1hzNc&aXOK%7@A{4xLiRz*HSzCl7MLo zCvY@VFi5SGsI?(lqt?I!+a?3qb&Tz=qniSqhj1YcU+i^qal6Z(2Z|XHJ~YSn!?Ev$ zREvSuTEHE^o;n}oP0@^6>U4plnEhs~-c)G*EJ_Ml=b{tY>?YngwF4t1S%hvmZ866G zwp^c^>K7fsxy)Dcev820vQ~mYC}*I^e0Uc;y8gL}ucAbzCBKHAxX z9!}zILCUoWewgkfxNpprS3S4%>1@Utd+)S*Z(+od8Xi9K4{dOf!`m~qwRU7V_hJ>XuYa?8n1eBT0=z)@=a>~o> zx#1e2f2Bu76}A_pz=HB1?A0=J=TH*BW2N3fO_eyyZ&=%>`hzMhyWONk*?jZ~{tJ4w z{ZcJOl4T#r;b60;-;XTe)tieEkROy;m9FL4!sbTc_oVvEw(PA4^njTcy@b+Bs9C-9wKYE+ZNq!&;0ClyDf9m z#03)u>Nb{_(N&zG^Mb1df|c<`3BIV^ZUeOifj12s3#?fzSH)$s(Qw3lRDfkg%&IYa zc`Ga)v@Nq^Zfz@`u!D8`m{wv(Y(KYpiSI>aUG4Wlg`*Ln&w2BVevs(soE}n+BUL zF@R3@lSv_+&!BT^fJ10HSfmKaDZe z3quGj+J~Nc7&%97t#Q#6dr=DZtyMvBV`+31&#Czwf(-DEtr(C2M$8{EJ@m~ZKSqmX zf^5KOH2MW$kcYVVBu>u;Cui>uj`ju^=5$Lq)-WLt4FMw82?b(MfeGc+R9 zKoEe8F7TFWgBx8PFug>k|F*@WwcLeVVDAr)PTmX-_WyJE3RLG>Mc9Y!YP&k_3EmFZ zxU9f~Xg4`LQ>${7%U$dNT8h45{@V-{IL1Dx=kfPH$tzg>Bz0VaziIS;dKfG#_Qm-H zKagc)`sb4TFXi-go-LfO-*R-wp6hNP&8$yXI3Rfa}m!_Wkt#%j}7(I zjb#XB8)6u5(O34VvA_#QgGaN${o~#BR{ve^UGMxK?|K(oJ+`G*Z#TH5yj5X<&S-93lZZ@_w8gaP=(i32 z+fl)mU+n{$%enl>am(bK&Rwi2pI zAn8pjLqsS9dYNbAL@o-AJ1}n$tuP#|*HAmAA3d~KBeOd~Z3Y|Kt204==VJ_N-8;NiL&O{+P=dex_<;;c+?W=t6GeQi?6z6=f&UK8@DYBBk1Xw zW;ityZaWpIMn_Aug&48DArp*S^gEgDQE!j{s~=sNJonng#r{-LWD{g+_l84E`f5Df z=9Qy1cxV$!ya3hT6ETXXqk_ENClk3W;U+7~8?jiSb=W#%g`J#Y@AMS*VH~GXndOBI z5oy=x1^Hz`a1n-Akm$3_ih=?nK;cm4vAmK(5@HwR)Z`3K9|CiPUf%3an~nc!v_{Hh zALJ<=qE$>Hi0nbiy#}6l+dX{u4j}?d5tj_>DoWxh1qeYz=6FC$SPa%H?P5=T> zSUY3G9OIR+lsSYj@WPlGUT66SR%kh^G3tt+)$N38N*g3}M>)uRoF`kvApMADn)%2f zMqA>=e~ntWUoaONAl+Z6YC(fPm_*RzQIsGVYZC%lH*iaAk43Z?q&`BEyp51;Z^jC4 z_%m;lMC)Nqc`4&utO~V%5{W763(%E<7ea-!a*ME9!#@5ONnC~91)jfqr{C0m?+x6ZaSGmOYy=*I!jLZgY#C3G zM2w}jblcs94q#bCq{OZ zZjam<_~XY4Y-mL4kMzc8=Vd#pU!Kv+dFu$FBr!o84JrAj zGASch{ zy7EN4<_CGx_Ij()doa6&EQ8IT`%4mC$!Ya7?xGM3u~YfVoW5c_U7`JIL06vTUX6B! zXdbbi%Lg-+i7cfBiC2)?vD$-l>?g1HnEGErTyuuYqz0&MVM=A{90v@3iGZEP;V3;8 z8AZS)fy8Robi!V<9|S@nKR@14)uA_|@% z9Wc7Ep@QULTl5~b#lv1(JbVEE>%jx~|15`Cxm5IKnDOVKOsCezO|S^+BddWT>jDu_ zZv{*VLBIqeoIkT5hhZmjh@FA1P`9zso@yJQ_FjVVTRN zWOa9;>^`J&E;9}QClA0?o;boq@1esS*&ntP;qJV=(UAt+epvBraUI1~Gs_}zYhS4p zQBmt$UUA~qVGA6v;M`fOLNcj5KoyD13r5yUi-J~yF(4`uHP^NZGf@!4jyS)tTtFlw z+PhBe=lTX>!4OhYp_La>R_uyMyox7f*K()>jaRlL=0SZ(Uz0#U^LRdoo98;_P;A1K zRUvT-f;gV%4s)`^S4;qbCVdhG&G%MW$N5jW2#KBhop4|GO2+kyPZ)Z&h1#ky+q>Ym zh6xh01U@qkqT(!kK0f$ybd_-#@#;4b-=b2w?Z6#io~nCY?+#!1vSc--+JTCa#M&HC zHd|Y@v*S3sxu+|*qxN4&wsYk=wQ6RicSVH{)i2G%zP-+CO@zv@Q)WS_CLEm%c=q|HmwdGX#FZ2mkP?@pI2>n8A*DAAiLrxW4cDtzU)erUp&yHZ1 zaC3Ita3^a*7{17a>K{TTbehy3@M*gSp;Jn_B$^C$96V!yD!wcLS184;4xy>)hYTQaYMn@G z+!jymO)&q|7dA~s{S3I|@|)mV6Nz}6CRsF9o7k*cFF$GS9r#^hu|1WPqbdl+7MS*` zDbruXkS3)wZ9=5B1F9`PY565+1#Y&)ZL7kESt$yNGS6->hyfLnhQerk1>0~H<#9Alq@8!S zntH;lA6{zx`$->qDh9O8)B{`v&sEFb>S2;UmCE9wNHhf~MTL$>h@b{aaq0L2dt}>^ zBOL0Fr&G_MhOzP;?YFdWgxVGJ?Fn~xztfU-X-=5#7y7tj>x zO8y!_UCe}t2=_}0xorwyje@eYLc(vYc8m(0D-zTBB4-b7HtFONEPp_FuOXy8Eq!RN z8H2fN=G?)5K}GYh7PArpVIL`X(Qex~{_ySSZ7{f<^R4UY4n)Ql+$I)!Y5L<;RqsISe*RIVF|lKR9|gA{CwMVe6^Cl6g|?Qt0d0f{pk-Ja=`16&1@(m z*6Q^ha>g{(2s0Fuh($xgp{Uj)m39kE$~L?bKZRKc1gKpp6ZVLFe@D0(3k)z21rD+VhydA3xu*MEf z@7if6AZzU7$9MQIR~T#3VOAdZebpw8pw+@Wf*Wqjs&c&9VwYKLZZU=x50G9@ygWJj z`E+<9{`PkNn!IWbaUl#pg8Mr3Rx1ZM%@F3;=8&8-sZrP;cAhz(zs~4 z>vJ2Tu}00*7SpJVs^V3_7k<4AWbuC0_3sipXiLeMNC+O|+2`vNIRnUB15^l74(BoC z0%Z1~a;3m{10U1OCf+JEB@ogo7pvV#Yv*j0LjC1qU0C8CN>OjYNgxiacCRM}Q;Nmr zNfWO`QC`N^CYv!m=R0hk+3ta0;3>qlqzk{GZ2X8zbt~yGj;Gblwm}2g^*K7ik1~Uz zb`uGn^}t(z)CKmlJOh6qz~j?monVKx$T3}KP76$d?dP`F|kwp>d)VW>p#`fOg)=)hnE=o)L z%Uc#3UoibiUr%grPyb!|E*)7Rk?L<0)R}loujq9xkUKogjO!RjBqBPX-`9KZDpM*+N(9 z*(VPVWWFN*<0?6QgL`6ARE&APkAufQR}!zHa}1TXURds*Y&gG*IvamYX|$WZ-;}U) zZChI|52rr~zBxEBowYEOUIWVwQ$W=so=&;U3&(_7Dhl-9ARUJ;aIkU(fBG03*gQ{U z;V>=K5=9BmVZ@U*d`hizHvq$-O~dSY3qC8p^anhcqeT|BP1$9e1GehB?bMdl(6W3f zgAbfwjWiW^6mDcq3Wi%F@`kSy=N`$Ws)IGY2@}S^b%H3{w!t`lNnz*>oO9G!bgmBWlNC1Q5U@kiiWjF+3C2ZU!0G1-dv{@mlq5QzxM^O z#{4esWkeTNQka1GTztI=UEITrF79bc7w*BZ79eCXcA$DTU!k_pr>=TSDiqfHqG1mS zqtDpyr^*`&-&qar-mdF_>b9F&$u(+dt4cQsG?cxrc6P)zsXdHw5kqe=n^*~})u8(7#9Qt*v)o67{!* zvqIHZx3zlITgN#0dvnvceCKLeFTRp#B_CnUsJ<;gQHF?kEys@ZN(>`gPefC8=Up-4 z%p0SY(E9c)oyGGN9*anzo<|ktRLZyX2J@M4Mral39%dmk4Bm+nof?L1Twck9YG!Q9 z%bt9MM-XGEtw51u`r$I9Xs5Z95!6PB%YrjAqMd9k*&`HVA!gB4mTM+nr=%25p1^U3 zh(R=}&1P}}g{VQv2>CX6l`SJ2=B3RMtxeAb+FPUO;ufgW{-dZO`K`FrDb?kJ5MSNNMeIFYIH2+T85+0 zi0(1ehrMXI{E7i%H#KTN165=dgFvY?CT_A7IZXOCub2&d40tInjy%bhn8gx=ur;H{ zDAUdtFSpa}p(;R3sKbP!w<_|UEGKHF$YONi8snxwc}&`LMRG>#j>`HLP|{hS^U~j23UBl$fkj&Ar08IZj8l@hB$TzuX1d^LTgmzf zX%qK{PoFBNm_S3(+_ovwtI{QD>W8*#

?xxHSXhyWx&jN+747?cGMjO-X(!>Ri7 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

    n zT$H+OvWXs+RjV6}&--?xm=Taf7JmLEtZy;R=ZbX$qwWT0`mD0;c?}K4U#Oe*nQEqe zt{ThiY@-sK8N4mJ7?fz&#;SLu844X~<&RauFt4j_0pe?&8R_UsBD#P3wrO~E{yWmQ zAD}NFS6#dHQGD`pO++vQYXUV{qt^6%)Ol_38|baCNhoS*_gK3bYT3gdijk~%XMvuC zS(AEbMcq^;VE0QUxJo_ia%2A7S;WXqK6Cbt)kU>LMz>7zdP4Drn-4g=BliIJ5cRie ziTe?QXwTAH7mGuqf_oOFZM*?bqboM;v}rczt7x8smD_psD&vmWh}W5Zujg>|WM|bs zi}^gqFi%}>ynZ#DRnunp*Z-frciV2`$kGPy^%NmWivT4MkmN(TU{h>bqHVQxDw1+{ z|CE|Y00A;fU?wUvL5fB3^1qu$n0dK*l3Du@=ZFL-+uc3025VJW%#4VPQl@WTtHa9rrIzXElH{PD3mq<$y$Bu$E_PBvnC8QMRePXn z2%A)OV@AA=I{@VQlLB4cT+JQC7)KB}D!bmdb!UT4uBb?InDMraz79mBpcu$w=|Ju22N&%Qt3~&TWoH*50%l2rL#%}f_1rn>_ zvn>-7xRj9a&l+Bxcbh-J%3ZbI$ithQa}GENV>e>R_za>|sUMsv>IZlB_t6JNerjYf zty!UcbqE{qH}e1Rlo6_Aq!ltQ4F>kDg}$Bc43Vb?Gte-FXiziBMX>>%jPBMj_9g2x z&<;4Bat04sKv-8x73z$>Dg5TQhJurVt7v~cpZ3n=xg54m?NhdK*#jE7I-Z`}tzn>; z>8YOFA&m^F`amsjh5nFw$arm6Wm8Vdxp*i#15}L~XY;ad9J|IdY;Q$$5}UsjDb$ZG z*L}~%aHK2~K$V;VR?rp{YH4y1syLsyUOY){r%FF&+|E_d4=T5BEN6dxp}Vp15}x{x^UJ@c(56v7&_-%n;Y>o-C$L2TX7i>Rn@jP3=K4sDlGW zh+07yAks?7njF!c_?CcK+7*#P?28dFNRPkwz6`Smrp#X`rUt*x;Y8dgKR9PmNl53Q zU}wl;MoRalWWWXT5``r1w$L-U=P_mW$1Q_^KSHmMWC^ezM!c2Wumn}mvDe(VS2jic zB*PgZ0RuX$h68GXyKq_i$tG&v&Sw@44#I|dDtDKwsGVDxS&y}=47&120O-6d+&B78 zV=)#$>d?XtP&2zC6VLNW)3+QfL6cW5h*41=v##Jw=Oh))Wv-zPXcsMOiG%U7X()DR zfiHhiX+uT#TGTZ5n;^ZUasm@O>rsSI(@ZW8fj=PnH^xh=zT4{(mWQDdn+ASR-e$(} zgfd376X*ct3kl)3aX)5FkPighHBJk~JLolIrb0HXlvQgIQTbR428woT`F3`K472u0 zOsup0i%X@xM5^Y|%>J$jcw+t1JRG_+ztZ5U3}H=~G}I0T;up&B%6ef0mx!i!2aax% z&C$?!X630SDZp(LeFW7xBIo$CjN)YB98R-EBelw0oh)Q#l`j1<1AGzINH43o*S?dx zMVS|=9pyQoX+~ch027~7VJZ&yQ~ta>N$+0`cm(@(Q~G9U&i(_rGk%XF0U4H7|HA&E30#w52?L` zqGp%3`&03#MQyhmb9L#nJ4{QxVYD82-6Sf-E3iwAKTJ2lm-)-U)S7U1%txTJ>3Xri z7U^iE%r}0!w8q^Dry_UT#T0Xp+s4_F|em~P&3_8SA3`E^HN*u zHbG0c#3k(XqAMDUl#iUPdcDKNoyn%t+Ycu09NGap^I1NX9gxa87kQnJ^LgG}O&~iK zLZBm-&aP=CRM=0>s`6YS!s2*do(`bR?Rh?vldH*GZfA>puxbEnOl8lbeRZ8*cqtTb ze32rcmYS6I0(xaX;q97^$2amn@rfz<8@-zyxumC30&BrUC$sChhfF;Ve3Be@ z9cbI89Q+mctX(QJQ=uB7FFU9OTEW9>rAPs1BMTJb9!(ItNg6Rk_BNQ)h-ilsX6{qZ zlhPxLMr?@?NEEK~3s|CytjZzlri&dO0>aqyikIkcJ(CKIzt)@Na!Nc%#tBp>f?!Sk)hl3?{hS4+roZ7-v@6pmiIKKzl5Z)Q$1|B!pcIcM#Z!|&+-D7j)gV1Mdjd( z5;iwR&ZHyAy-F^~+UgIS7ZKDg5&+p1AS*myrbXFcGzmfvSJ2_CV0b#qZ*+8TMCwZ4 z86^Twf3cK*uLop#PyqGce)kOrzVNJ+Gq;@)YdHt^7-dlvL)3K=5UG3E9aVayfcU_` z@3z?B=Me8hfMS}^{zv2=KEh==#{hlwFe+-&VvsfpE8>23+tdq6F<0c%3o~nh`e7D% zHEFK%jqNjIbhsL+A*IDN#X+yRV^spC-P`fIHuwu5UT&J&kzn397{Rw>&gZL@l#nbsDrse8FqoS zRkdt5IV5OS5a`0!mGJUMrVwY3WU9`Gu0LOXc!Cu)t(0p$G0mDRCKA@nOr#|?i|-6q zrBAG=EAb;h7`#Ag!51`g9e_CnlnbELt9)uwWk#+h=yl|Sn%Tv>i3SE@WpGj3m9&1+ zRhOhMFz4bEYblC@=_kQHI`@Nt*qaiH0Z#z&WE87tJg3ST-w1pco|dj-D45J@aVd$B zs3}*8oq{wnuMV?%7%sotJP>Z5f22Lrl;X6?CK6&afNudA5iFEd2|ix1%NtKs8B-N_ zCDywszxwvuPy=DDcc^tpF^x^>vuP{T6Apv4wL*E4aA|V+b)B#RIhwJQg~@ZE1vE`l6oi`xVJ`%ahnR1VJb(~5Fq+1n|ra1y%;484RJY! zww0E(?WZv^ks_)V6-@|8Kq-I)-*Ty$(+$hn=rQo;NLkjSXe9Z68A*$%3Dj*BNNJ8( zkDJCdr`igFr3-V&TW1YbNg;kYdiC-fy-6u)6v1BWJwC&P^N8O zk?Lv(*ngiocZ!J&99sYGk0BpBO5EhYpf`PF8G6Cg=+QDX7KORL#dw?Ms_TrpCpxO< z9rq@bn7RxUS)s<_R5n94q@=futC6|6Wv`T)`48z*ZQcGU6|U0(9a|ZrE_tzij)}~1 zai)gOfWs81AjD!>ElL$5mDif+_^mm zm|S(h<1MRs4Q{puce^v_-0^X@)$A}LrR{#`8m-wE6Ay2-RNm_`g6t%k@2W85&bm%H z|5!@A?2ZvAzyQpzaywaKd%_iQ`n@{&i(z z&?TUr{yZVriqsa~-u6xLI5z8?`tC9;U6YvLgIFOr}e-JFVqr;lw18`)I0dLVPEMC9I<~_jCU2j<09PmecyT6EjhJ- zY?5?a0onq6W`Db#9r1{iJjSSt0q2M&*g)8vIOkj{ZkrSk^+@}pQG+Ts1jX&40v|0D zc|%Eb!0R6ZS4qnhwweRjAz0399Z4Revf>BvDB&N41T*f@#3O83z*hjAc%FR%L^Aq! zZg3LBLniUgMG1Dft*8r+v(l-kSpSx?m%7beO|;!a&RoS_-n8nNZybSG`~W~ezrPo8 z{Wz(|YO+84Zl;=i&ov|ct_H;+Zr4jWc4Tv6XW1epy0U-T7bC{D8Epw|ttg9Ge!9ft zlL^#wnPkpN9a&r9N4Hs2@D&A@n^d6SGFC0}1KP?r)DIL`P1=a#JwRI@-)XWCY58NAhAAmt4}NTH_yIwEtP+fl4fYjyYDAX_ZHpwn2*^c=Q^ zO4f}*(3D0Q7v74aCk>>RIt)Gs{2O9h0Q~p@v2a0nY#jl{S#RHZ+MR0m?Bw>em6(_e zmUT6d%|wkDnV3FYh`KP)CzB3B5vCDPrcuwJzkwSK9oE+2) z;1z_Krj+PGVB#YzBl=(vNudHjsaamIT82#x)l`22+QxT)t@Z* zPVS>LJ$G`=s8BUWH^YY+Xy?6=E0qt$XaL`$L!~;Uar{g~8MrhA@M;ecb?y707DRzE z=n@=`%}o(JkK^zQpA8WMUE-U|$U17aRAl;jM$R!Osld-o5^V`vU?kb6}}G zvq4;e9%7s2wVU+=Ig2nMA^{-~V61~l1z3{wcylvSjC4;X#gG5p*V(!3!rG@kiTlF; zV)zcxZ8~~*BoG+>_opnMFDrRSK&m@}{?YAN(HS!;(h)8I<~}iQM&p+`@K#rViUFrE zY{`J{EzFK#_nw3b$KB8_Xw17|bjMP8pt2HTfY z0LyB$2{{L<&Ly_`zi-rf5IFAdaNOouV&u~$i2%1BIzeulw&YaP+6(}P{rFoPxApXU!oh7nFhIpt9Vv~CI}p$Je?yo!F_q)x zsW^wVJVnQ3B0T8e1l3;g8%wWv{8$Vgm=bmW)!xywU-l19UcWgy`RUEO*U!a+!H4d3 zOVUeEQ_BQ%^je7pv$A?$i2K+7didsbU#Au_3gesm*Itv3AiOI&?+aQ)wRrCfh%ffq z^E3N7jljiyGt!rnl4Oscc%y&4_uGq~2_*aHcY6nrqx<=bgZ*bmJPRcKgC;OB>H`fw z?WA<*D-_e44Iru;_pf!w@!|os;mwA)$TN4VBc19;I{tOK<9k28IXK#X?)5miOy*;X z!nSw3DeY(L_xQVXkDu+mezyPe<(Kr?(8}BNn)w_6VzJ=hBb|QyZMxUb-@SeL;@RH% zQ@sb*poD8@x-6zy(KtlS_<Mpj0J@S-Dg1fxJi9`szo={oIEV%@o1`+gGqEDuxWWY#I{$7gdZ~eH z${CH#O~;nvF7tvX(pmT}?px|BlN*`Yk@4RJ_H84s5sTp%wAC)glNN{`Hp}}@~ zqJvJ;@DC6yIv>7|W(3vL&P~`u95f&b*jR|+`npMbnzC=_dySUwD?}z?veH=5IVMKd z%@qbXYwl=6Zx+re=H}NCwi_>G3`1`!{8vIYO5BU&3Dy%&jF<%BBcy@^Q5w!JVUN;| z8)Al#(@M(em2LM0?Vth0|8ehd|K#o7!QQKrw|hrN`vz9|orh z;)#0-^D9@3xl@?TU^?+pH`B>-^4ckKgniix70k7&Yh@bK&uq9l98LaD%yH$kAU`!# zrXb@iRdvaal<5bt<`;K-9}H;kEexeCB0WEb?Tn;O+Rd|)aZ4VpJQt8cuiS~ z6zFnxj+q}}N+x9`-Q-OiBE|L{d)nkDM3B}4FH4;wNo))@oZe!?J_3uGE=)P+W*lb# z9z1G0YP5uP4UFl3c6^l(ju6>DNLA>39UeFzw@8lau{E;5TRa#Z;ZG}Pq6YTwxpZO* zoW>7nT6fgn%38K7jz5T@IR5J+;B{b&V9EXgeCxr$Px-`3F9*!uBaCLAfD)im%Kc^p zKM1GzVUTwL=ZKPFeUya?0m2kl`tKjS5!o;O{8naGu#B0FV^b%vCsW!C6}>^bD4!YM zo0?R9^>Vze)@Crwwn+s&9Q(Hez)3B~ht{fqX26?$m2T|8AnGJ-=2$0`-W8AfPrh+m z`LQgPHRM`8)WseQ0HGyn9>po>Giv~5=)nUbX6PbwNR;-$AZ|GIfu|5}%FL1mq9V4N z=PA+-=d4qUk#avsZ<$C58W_caDAlEVMf61H{rmfyVMY`9`K$FXvRrC%Rz(US1WshK zAG?!{xj>V1tzwqhZ5*aOYrve_(^o=I5w#n^`o}QB!^E0kl8LH$ZDh;DWLY=mxoT`M%%|P=@23xA`wW(;lIVyR zeliWY9N8|9AH~ik_T)gG?tfZDc8)a;3v=1rR(Z`(^c;Um?jJ$)vih~beZvnfXPu^WLE!IS&#?C+pqA+6G=taS>`m{PcDM0;+@!7b4jeGEBLvZJYA|5_s z|72D5S%|#VP-4%(X$O1`(6Co+>-*PNY%33*KrL!<;3t zD@NV!?vO^?-5n0}A6pN$Mq()RG9`BZe>Ixx}17={F!+3ie_8ZsuLsgrWN zQ+-=wqT%Y>U3K-fe=$O;o_M6{`BjmfN3XV9blLyN_ID9__(m;D`cvk3+~#Bcknn2< z=A^ZKk8_GXh{k`XKKM=Sga4M#rxP$ct!5G&j-Bpj?=x*sd4R!-`CLfIL~p;rS$Qr8 zV*9B$KE8&3-+bta;}0L)nt0efR^8*YtP02obMNd9$54vUJ^>zHR~)2(lEE0}MT6C4 zN<_0%JfSF|p2%VvbrDCnYUo&)R9AQUIR9|0{$ZydhA}?s|K*YMdmLHIL+XxMNo%O& zSUr^&G-xoli)pz;18q!d!bx|>Y40^>`ga`{0DCGDHSUN03ZUL#P~E|l4|h{iXUSrt zo|cvR=b+#33wAS8&ra$R(zfNr>4}waR`a*(jR;8T=lff_mloe=F(h20Ct^}h2Zivw z6NX`+4hLakV>^Y$x{@d8h#hPkqibg`cB^tAS~QtoxD^1*vUv=;M&`;=3pd(ga;KNP(ZIqWIdj1V=Sfy zRDf8CfRB}m8NC&vje}+#_m}a<@v_mIH37Kds4%;3x4o{Dg2Qw?&XNCax!>-*C1=NO z)EHa+hseWXJ(;*&78dS_*M}lkn_29tlY=ilIJ&>syyo>D+`zQO$vMknU~VTMy;Txy zAP?EvXUvc+OJ5+|F|^_*$OGw)tz{%UX(j`BOW7fnZJX1( z@cs6=b9mC$l0vgR3Qg*qd=f!CDWped_|6<=N)~}ygy*F|#83*P>=fwy>eOG+5i60s zC5@~efCw_J5+_B8ifaR!46elN_)@f?)!H3ek9fs?Ouw-Kol|~0j1Ec+XG*Bc*#bq_ zjEBSN48b`|)pnUWUxiSiskRb7K$u{<9m>S|3%W%9zZwDrkeK+x}Oh@-Zs8U&QvSX&$uz2u1K zQC(KeNPq55U{uTig*~t8Cg_h-Y%I1JwkuUm_3jZI{Ba2$GL;naA4^as|3Hs3%NMw2 zZz1@04}i0=9yJy(btiNVq3J})itdxFC&q37cW#IAkt0|ac;`$}$<0mVrN_}YX%&n& zn*nqjaL(HzJI;Np7D_+pe?p;m`HbrTKjd-!@FKzU!z)KfF!9}%gvbFPM5dQx#bZLw zaALM7te`$CF_K^F!qT(Kg8(JkWnR;J`bG(n7>19vYrt4CbJfJ>PdV18a>Sc$Zi)=@ zfxur$Q;2xjV%75IZ#P8fvvQ$0S=5|vKW*>!IOz8H5AJr@>+PW1+?huyYGN7TEmQ=g z0F)n>XaMB8f_1e?k7v(sr zmZ>ak;0!_+s*NQ$hF})t-FtLI#txxV#Gq|P9FLG(d!L|#Bw(wN>!B&6=%Ul6x0y_7 zn^NGPL$Bu3wwl{s)ki)ZIUqc^|qzqY*F2qh$?3Q-Iqqi+)!)QxeU`)%*#i|1@FX8*Hn z`=5K;|Lf8AUr#;^*x79l<6uFJ3I^&Ks)l=v5IQ-tU;#0oy8-%BK@Xmr*kB;KWa}$0 zC8;q`ag|M{Wa;B*svJFOuf#0F6T-j-B~)@InOX)hzt7`ivq)}5Qm+xZl95pzx)#Vz=!D98aK6FFrAx)X z4K~pCdO_aeR`}aMJ?#4yznIZOtF>@a`)65AGqh#gQ}s(osfjP|`l`}NmDOimWyWqF z+5W)+*vApGw!g(*Do$OCox`-RKVtKdIlN0B zUY$cmCus9j(2+eD1K=UGS<;hfJ!)?Mn6gv%S7cnW{;eexGnU7Zu_$%6`25))imvx0 zRZn{iwblNrz4m@Fjm~653Hg)+r!HCO!Zq5n_0YszbTwVt(mvhU zyriIW0KrgQ5b_jUCx-d7ei+Hxz2>?nYzensc7Zz=&dN|9i+C9|-l1rlwOC!H5^Jlu z8`NB}Ap@Htu1rTcU1>09mBg8b-$^zap(cTaFPl!Eon_Tg8Kn)}!owYhmZ?T8kqxi+ zsBDJQf$xv=hYvsa#KcV3`}ZC6^ubZyUF&3p2cz|}Q$KZuejWM1KE^D(2F-Qo00IaH zd671%)|WXt)}>NdLKJ^1%^XIynmbE_PTJG}C7F=7nj^g1;I<0r;7Y!=5z!21*fN|o zyQx;Qjey^(hpGMqM`hhs5lbc5ORyPM?!efFSgRjuR-6M7E12$F+k~#(sNI&8Rh?UX z!f(B`T#>Hd$hyH!ZKZqj#p~L-TW+~~*J9`W9{|&ol)nLPWgUmbrqWCB)daN`nv<{G zgar0auiRa}$2K>G`Fq#<`(dkbIN#p>{pVu!#)xe|?bQW}AwXuTnlr)|18Jj>b%SBO zz!~h4m3X-5?hY4~oaLWRx)@!zby6>9vpniSOE7y1qu{cvKGq1^3kO!GbC{QC@JrNJ zz&9w>_GNwEpUR8D?qX+e@0I-5alUu?xBbcUU&njp-rmQz-#&W#^OJ*b|F(B=`a0YD zcJHUXXRn^@{kZ(wk3Zf^^p8`8RT9B}wC|T#$P!F>XaTSDVj>YG3Ut_*_5|=sW5&(F zKn!?(hKsJ6oRx=vtL5;+ED+`!>bp2bFtw$yU1s8r)ju3f5%Ughd(sk)bQ89*TRe35 z8~?Y$@T-pSTD<%pLtE5%JjQHQqv->;R^Jn6PKEw4UqDK%lq@t#K zVpk+NP0ZS@m2x#J<$A32Q600@clGxHij@UnDHuF{{e25W zE&-+J?%%Ntb5Xb!+@}trfKrmv8>jH;yc}n9gC9VDGeRDdkUOmiE}D{I<2|=U2h2t1 zNtn_qO3U$x=b?_B3fEfTyn2-_jAhDDB6n0f;#^jzlK<>pdw3KU>_mWI0pKm}fC7E@ zscc-5?xF>TYyB!)pl!z?4KZaIA)^F0gtM`Ovxmn54tpgCLx{aV$5%FSHxmgshh+nK z=XS(hx9u?S0g{}&)~m=z%SwP@U2xoQhxP?ZDli~FgX6-!i-5KWCcAxb6T~|$_C+-p zZ4plpiHZ4o#zZ#oP@?IxAnIckkA1@&f1i>-z>)KWsX{ngWqkiR`>7`)^90N#K#c=` zWV`lI(VFzK6+@{iQ0suCQYQ*;V0f5fBM#K19c&UZw5vWQB2g5T-_iJ*))czfn7iWG zehCiq_TMeB3)C1aAbl+^^aZ0OA{=MntyIst9yd*0xr(<&P;^CE zSXk<9J+#k?1(g!t@GSyvV|jW|=-gR3$FTNtaiuJPBk&a}3-B2n@xDyASeN8=mep6q zM3|cFg8+Gr;0tW9)NszUkVzGlYGvphpB8C%H-6Ikrm>dF!}z&2byLs;nS^8*$RH1u0TOJUpXaQNFzw+tsZovw z)@i%Lmg$P6Ix1lZrJ+wF{Rl@afSVF+agRQb1|wxp(ju-bnzt%O#OAkcz_zgBqy$GO zki1l6hH2{9{L@q9VSjY2XdExbUsS@DOQ9KreHIVdjR_PvUN0Zw+^kF^4bz$E1}Tja zIZHe@pw2T4Z3S#--f7*92ODf^FUm`xV(O3*Y6z>e7Zl-nej5Rsy+as-6}OcFSPVlDzd#hen@yylEd zp48s>D--H*{65EzN5sud{g6jy_84_y^^0PU=>c=d*q10%EbM4DBP7>^29mFI+7#Yna$rwH{$Edp&X+{0K>kT^?7oP23Qeh1fc9@+@nk}yfJ<--? zTRf9!)0Eqx7UZu$T4zvQzSA7M zx36^KoWA4Zt<+vX_?M?=T2xdi!ZX8xyBXMp(#^6*Z^-RLs7z|YgF%w$ai0y0#so@bJHE2CwD_Dd2X?>2W zhCw2lc&}74Sk=CWbPX&_B?v1kO8>+l-74He!$li&alp>V=JT+1q-R=+=t8hYakZr- z>`KmLB}rUBqcM&XgFt!PC$3>{W&(XongD7WJ#faB@==`)SX5+GW^?%|ALsKtknP!J z+uYbLMeuI7XxhqzUf8P|)=P;ztW5Msv{!$(B@-lE-YB=xifJXQbra!MxU$^b`GQyW z1HE(3qhA*uG4%Sn@|Xi|ak)sUM(w7#0|#;zi(E1(T&!{_Y0mI_o}$*O8)N4b@rq8i z)znnZrQ74!IabS|a%k$mRiaMyxmaFJs{ym!W@WXXA(V}tw$_St*{@S8wMF9|rcMIV z)UZ;MY-Jy9o9ET3M}@m;2XfZ8@9G5gZd=BF+g)!}hN54(C{XwJtxIr{&9vmRyqLbgN_k1pfkt*wUvq|%Skp&w9$rI=u^J>0XeeL=dAsv$;n51u z_;*VV(AplgAsBXJVV@&ptuE&mvYX7S5+WicR9^{vDutosKZE`S%71u>x_^z05Aky< zCr)VN5{|^|QBb#D?0hThYwQ4$G9%0yu}-3zwCY?>b5sQx;U&;}f)#2AA)6bvJ7>Rn zo_W-u%PSO*DFsgs>@`4^5zB*bA&@C9IkzQn#t*$!E6hn>!Mmbs<*UQDpFcxRp#ChM zH?ksFp4XU>?5WVkZiM@VliB?U&p-Bc&N5v-)W!-;l&#JrbJD9Hd2T$T`Sjk`kH6l2^61Hv?ML5jKY3zU!>Metd|pS~J;WMJH%+F9 z&;!3UePr1b6jjJ(=k-rjd9L#;Q5r0H$-1s+lXe9^BNA_vUL+f}LBHUhp)88ZAeF?B z>D5%9q_$Q(To;f=F`qRiQ&7t0s7b)ysgWg6+Z(s<-H-h?=+XY9EGC(u&-~e4;XY7@ z!nA8O3%K|nqK%(t3;Pg3CYf+XrnLPr2eEP(Qgg!d>L>kCY5 z@rsO>wW2xM1bi9>l-&#m8+s)A)WgXR)3T@L{$_GWOE4)h%8CRYjUSV&U`>QV-pK>v z$S_jsGXZYk%0N6PucuBG6O-MF(vn|sw;SV)cAQhUURHC?IgKqI8!4)6>Qd=#>{Ou; z@>7*_j?Jg^s`0TqBZyw7t7D+mkI3@TnN%J|Y7x|kD>=uQd=8HWbOp#Kn8VT6A<=#D zu9(ZZMptj0=9Noc*jda;XO*uH1NJ2%lQ-aJE7C*WG=HRs=m>* zN5PyK_z2-@DzJ@ippS@5tLjeAnSH#;-A7s_Wk0t1YCqQcC;y>sVGm#zZ6t4>6IF-N z4K-jtA9?vU)QW`B3SpRnmDi6CtH0q?(<-^20n<(;_|sLs_i>xFRZ4q)(|jCcmwn48 z9DMuk1PDz=ezFmnK(kxl#OqI{X>P}vD{`H)JYd}IL42VupdQ$TD7lcW zII}k|oJe~^kJ2v`93I@eX-E7r)I)1(u=HDas;0)-={kx+ zIVviXv>CH?#v#V)VpFenLX$7>yx7QVi5 zNQBjE6sN$K_q?1g=aMX!#E%2VFa`|dMQ%tvvZ$x0c>7sK_7_d37JrB7LeKgcrd>5r z7mC1Nz+!^$l*AxMW;CW*lZknmO-*D2E9}VG>MeT|TaH9M(ShD~Tqcb{NX$AIHcOEd z-9nnCxCqoE+}$HswaikI8{{Q`ye22AIzP|nS;d|M53C)~7kenpPB7m}=Q@z=x7u!_Q$Z zCZcTk=jYEZ;6AF&^_Y`>^H$gUDtGG+J@s#kKmZyH#OpUl`$L1^ZFC7Dvmw}U{T7RP zPJA&Ye>Drzcia3oYzld3)J4psoMLDztfJo1Rvp`c7C3S}RO^HX(NSjH$12AJ#|!ZE zf)gBVIB?9whg@ka<95}A%C5j zFWVZ|b)6p@=6q6WcKSw42GIrl=1q`ASbHfL%MlVU= z!&hdnO)`mjp>89OQRKRc3p6~V^*zdcU_GGHL)~N>*T^3TMw-{!-O)qMRq4VrW7Zif z+osJlY4tW2vC^SA#Vpt^DrhCIh#x&Vc_{v(w>ij?=tqPqF)J9r#;lL*JU}jvM4C9j z#nf=>#QJ`r?o5S}Ko$vEMy(8l_1gL3?v5=hnza`FF+8A@-5=%ERtoEu6tGB6Fk;>I zAivqbX^Ysi5sotR$|75*XO`6cIKMPW`;1SsL46B_~J!6m=uBXpWXjXL zAsVav*q)n>$Yg4Y@m5x|vO0%NHO>((yp~xtIfG?^G1GEU3@>|9kxv!4N)hTR2=+=} zY*B|-w!7w{%FnYZNA#u2;5+0MqhG_`sVT`j;-%+g5yHGHC^^8g<*;jMfCJt^Xq+iQ zk-H%E+ykOGpiEVpoSkzIC#VP=-fo|Q#8E`4#TJC8!oWW1%B)vGxYJdlIR(YJ&6zymy zuLNy9;BZ&AP8J?67YoY5d1@eXRO1U!;u5ng3FWC1rsN3W6+nxg}e2Cse zry3mI;ih12qX4O2oMFN&uOy@B%knvE!#3_;d!{`qGm09u zJdp+m69_b|lkTJh$;?W5hA%!fU8{upC(F!R;oW4%uVi{115cP$=fzY-R`N#hQJX*=Q1m>WDcs#MOoK5W}YpnB;pL#Di=Us{8R!l&dwK*Cz0tj zvqbc1E0hT0R>_hN>^^3+c4vnLV~b(4V6!D{93!{9`GrE8-aP|1!^uk3w0z{stv(SV`L#d!&Q~q@|w9D8}ZV5D91V@4Y*VoI{k&Jb<>7&p@A%^l;L($$K?_fIt~w&l?cLZKiG|Bs=%(g=tXB) z{gT$<#VbIL#wK(i@UEBpxV9Do?sup5F281w$;aTJ$Wzug18{U%UL2dlUb=fE<~SD=ZZbl9;kJK^d4lF zhWfq)gWt%bo1>n{`Px)*ybI8oqVj08JF@9$nzj_fz+N)?kUzt=} z(R=SM2uZMRoXD`Z7b%YlQ9e5hh@vm)9qb;M_(r5NiaxM(3;Zgt;7|kyg_~({;YAm8 zJc`+LTAOqzk!??np@da17)E^0^S~eOsOvyE+w6+YCgO>70O$9kyjr>ESD^e42IM}E z1Hk@;2w(KrO2ACV#`}^=+YS!d7hq1g05-;&Vmx=Mkl-yV#Ygv2$=X2CMUw^EDHY3HkB=p5@k& zWt4e%lTk*?Vw*S!+5>;+KJoiV`#Vy|{Y+=4BOZoiPxvu`DW@-LDWHT7Tbd+*XHdIPMixIgl^6hp|yeIqW97I1XX(=1njEi z^3=|`>Vi?S>HAOpEns6qYvUKv(6zU?*BffHh0GWVhk7SA z_imJ2n>ISp9iO=9y`hEzm}N3yKtIyzo6vUv-G@|qTCc$HtiR>*5-bCx6`|HfW$`1b zN3qO1^xGn-%YE|_e7;6~QC-Z>0am+Ua007oYEVahkrsHGWFH21Jl|n#>Q}s053kP0 z<-FUW@Cb2{%S+>&&&4~Gz0O#`C|aewkX4ntmMd;yDi_U}9mR5amQT(s)RDa4N#ReR z>$RF)82dCabnzUTUSp`x4=kG=C-(AIgHw)ryoG2ZjFvTf-J|;y`1RL)!K-eKg4$T4 z>r^n-@AW$CL_Wm3>hyFT@2V5Zw@#PUhK%%FxAi3>K)uoUisxnf0uR>INmDrewg8m1R; zXsDJprYNh3ihuy6C^~#%v*E3?tfhAM?7Cb!;lp|$$~Me!mrJ-egQ`Z7m@49WB9U`R z6ljDs>SD(48R9>2psS2zPIrJL8ykcV!1 zh8^4TyyRu$IkDeyx^|k^jjYg{S6f&~qlydevkqj_MYs1Hli`NbPpy#WoI6u;?3cy6;=EiIjhuGf*00&E72b<69ndR1+Ea>`Xuoc`rCv?`D zDnC7iMF!%4#t<^Qsw+t$kumL|2Aw#yF^bA)Vw}ra(-()@6IL<0WA7fnLBCQu<`#Vd zZnUsnFa`K1P-pQXB!C@F#;l987E8545woaq7#G{BPp|cK;ES7(V1)cf*EHlM?1fc5 zmCZAnr5Ai5cDEvq7oAu+a~}bp*N=VMBz@$NQ4Tf&j5thDUCU;<(B1Du2$6q?88#Xt zpEY(A3?(msbMJbLkq*|zd>^bzX157`17Hdcr-`#;e<3y_uS@QPzMKj93bNQ>77JW* z7&fY6Vv{rKi&xo4DG-pFaw#EdV_rLOEcsMAIByz~_y_A6eF|+|jZHhSHyc&GoQb`~ z0&qHa*O_CNeAzS66CEp(q0_Ur=^t{2{TO+5SgAoykc|xYbj6`1w%k6o_JO_Q`n&&O zr`8JM_~K(rJ?~mg{Z}4b{`&uaa-%0#&CdTjkFFhJ)aluqHT1K_!*Eo-t;+MfmOmAA zQA2*D9>RMlUv0(KRLcVV3!jxm19>NR#H;`&VOH4tQt3T28#l0IWCSa=2~`wmWQ5pN zz^h)?n1jx6-Dn~Qk0Fb`G-dfwpb5&^a*?K$pS|k@0MHN^_fTupU(TdL z!LulEnjB>xbP2&?l*0?Nf?zNu{DagI0X4zL2Sk!~Jetp9Ar|Qaq3&uLtJXw^$I^1x zx5*?cAl<=_sPK@}H^8X??J{Mygu6dM3xXem8e+#EZP)5+U|^(9vf1Vb@s+Qdu-n!D z?t_mlcB;L-r{YNxj8xWjb_&{k^kv_G#y0e=MzFld4J$rCGXeLn=^J>s~%^S(eIUSKl7kBjaV!lfpKJ$t4rf+bE-QUG_D3;=5T7e&JK1r9o13BovyI`F_CiJvUCU}IG_&7Q_DbvU{7X}B z%TEhAX|^R0;-NTE%TR-+h`8X$Molz{+$hXYpWA8AsgB$!Z;)iNXJJ?Zv)}Pbv9dzE zUwW zVmG1_Knc7IQX~{KG5A)W_8Z! za^Nv+wQO%~2*vi|jLkyCmjSCog!vVR>txmG@*KTi9W}GFeb8rZ(md0ivLs?EiJo=d zz}GtR<2n+f#ddh64r5R^F2q3)vhbplTyJ0f)P?*HDFSUyR$3s>6wNvdo85YAV-!uWGXg*B4b_beoszB}_qG@7#_EUB7l2KhUFwxGqNu4wyqQmoQcV9{ zr#Z(l+Wx5<-zk09z4BYGyku>|j;}(fH5E7RUvog1p0pKG<^xMN4cpT=KL9#JN&xaR zPO00CbY}(^V{N%c^8tpzb7rNDLsMAI2xoCwm5_+$d{I_Sw=*ykf3cLEEt{Q1!6e

    W%-h+6uyH^@gKnId6eB2}=TqeGS2TWExMpy;=_xrcJ zQmC$2e{$~Jn3|sHk9M~<`m3t{8*T0OeR+!w9_>e4>su+BzD6P+@|#7aJSt+)wx)O= zMyU75E?-W9Em9FlTeDttUs@J2ghlJve2}M}iRP_~cs2_iW{2&XiE`+AQo1`ixtL7e zESlO#bK@(72%gNdy52T}g-KEHUyOje1OuRz&^+v}1OMV31NGt0pI4F%ixGunMGW(z zXE)%Ngc8cqM1WS7bc4Uo-10jVx3KR3Pa3gWBt=sb=)ki0D6)AavuP|1EQ*0@!rn%y zZ>YKyifQb2P)xdTZR0E2s*iCbrva$?a)Kx+VQ$3s8@sf^$j1U|)II|ld zZ)|8N2ixKt+>Kvy`2{QBt3iY5UH5{sw^;z zz@7bAbPB^)Xm|+RsO)2?r*&hF|^M)eS(0G zphu3v%v(XbsTG0q3jL2|teSRDGM6Ef=r2-K3D?BrHsYv^(g)#gw`1Mjp^hTWp{N1U zwdrz0>tC1RHdm%t!zA>@*Jz(l8{u5>fl6v3c=Y{I+SDQb$QxMP_7)av-NfQgxQ)dZ z-pJw)y_LnEcQcDW=5`jX<}eYzOGMI#LLtfGp$x8|9(Y=9ZSlz@Cb!bL7b%8JWt+9I zc>%$IT~(3v6VQsfV&tbqSxYg>YxJ0>&@gIgl-K)UPf{<&@+`Z^OPx^WwA7iIvqBvF z^vnrjvyk6asEcU|*=y!d$I1cp;s7N@3aB9|W__HKiIvMEQ#4VS_448}BX z$B~%Lv(xZWT-Fl4-o^HUSO zIb(7Ses@#~3R3(&>>z&)w(>F_^FW20l1na&O3rA+{iX~&M7nqFPJR9i6+t6o`VzTS z7`4IWFPd0MRoeQgj^Iz#X?||Tpx*<) zKE8nsa4VJSpV;YJcgp|U**Hz6;Vl&EfPn;Y*S*q*#EIP>aS`}0~u zIo|*oMvgCtt5rqWf$2u$ZcW2d*u*QHx`xXgbJcC}_(NESkFlv`pX+|)Q^fq(U;6x6 z+;y8#)>>~7cxtyJ;CL!!t=A4g1OhT3K~`GP!ZvWF-JKBI#mZzH?+_O7d;m0RS1MB? z8#nMR!{<}Vp;OtsVebG&bM=#!R30a;Qgp!&pQ3T6?R`R}hQ{jzFD+wqLl>}tQ zOic3`x|T<Q!}j=W%q?<2h4_ z4#WO9*m~V%Gs0=|CbyFF; zg5FsC*YE98swC`?7=g3a&KsLq1a-@Q=`amo1-U25u0$M)&?N?yEBg>#(T%Cxog3=d zXK?Gg4Emj(2ejzsq?WcCfV}ztP$u0#elW|4Fmt+%q>}Qb(#4_h%NSX zE6Q?_^pXkWV$Y}Af*PI5i>55+HQHqFn0dv#;^Khw3?eGO@b&p`PsQq=Ly#=*8S@aSIg zjDga$nx9O~tfbyx2+g1PY0~aQRx02sVOLzjKHZjOM z0d|d)M@HAFMnrkvI;Mq=`Udhv&9kzY<)=e&EndBOzCRRSnZ#e5q|Kfih+guK4ovk> z9Fu=tj{#gi_;g4mA{nAo<|KA>aUJj~8;Tz(-<6Ys4yWxI*oTG;BIspb%Zn9dq?!I? znaQ$lAciZ}gDTISS!jx>$p{;TpU$<`S!AcO6P*M750<0VpBU^*hZGJG?s9PxyAbhQ z&}CQ=u!QWo+Mo!`=CwAJ-Ky~wy8>I>%$O7+K(MG-VN>-!}q+y`_8V3v?H9Zy;xb=>91|=d8jgf0-SAQn* zlF0R0x07|!p_&~y&fCo3cVg3!s7RmZE$oqmmMU=uP5tPW!9Ku0Q^i!S`%6?;Gu9KQ zx>tcXO-0${e_KlOZ{c(iQ{O$!X;dQkjw}FZy)Hqv2T;c4LLo(9Qi?JVZPl+Vp3U>g zM;?NIq4~cFQC}t@Y0ef>L-R5xK#8ChaS?+7YW^!ywJ(Oc4*$h$Tye|0J{*=ep3VHC8}f$DwQ^!VO$<2s>z53yC@qD3se|6(2W7rm!#5fck2$X{vk-vIF|JVVV@DlT3Dw zuvO}v^Qdn(5+H`Re-ghIh7QvR0ROk;Q{4^~>jYx+;Qg4!{(d~j`v7>?rJ{*kLJLAOh32euH;uck>`(jejO6d7d~}oixoRyubUl$5 zg{^N0!9%?Q!cs^SvQnts_(y;s%FapX1;YhN$rFPbWiJZ5S@5ACXxB&#JZU&|Vc6^D zOEKZjPid)sDkVkK8>Z8R79VXb(NtshCuTO*iofa7TEzJ5NvN zE0ze?nHOiW%5ilRkIavNpw~m%=Pd#~eeTPo zSpHXBkQGKfN*aMc!W|66kFsev>Lw%9z<;?|$^rikJZ)_XpEb>*9u5Yld2_ZLgSucW(=*E zDD9!3Mw-BKN9A*Je~U}kYy-fLeE#fywI618aQlW(zHZ-agx{WcO@hWrkp$5mU+D~Z0)A`CuZB|}$^L2IPJ`;mEs@@0QZBBD4j5Q5-+cjD=Q0`c*67$DHYku!AKMb)CIZ)8 z-8lFcUP{oR)coOiv!(!BK%~C{ioi^!Wr374G!G?$E+ zZ#!i0UeLMa>N4IgdRi{75Lma)z^#>M2^>(Zn8?2Pw_GDv;bn?jF5W0cNFs!w?lCR^ zK353cCIuZ+Jic&Zx*=#Y`$$>blo1$Y0DD7`B5R^DrgJDK3YcRVRULv>h~iPOM=DIL ztUlJZXD(wfaf7hh@wOPNG%rpEQ-$;FOhU|E88$ECrfhB!ehSDoO$mSMq1ylUhMo31 zM3Jp2`xb<3zs~>JQbW+zv?_ob9StB5r)px=V z+9gm&jfEK%!Sy;t4}1K%cH^of1s0n%9ur_TP-xr|?54q&04hsRA2v=LKXf3+%(@qO zoyXkMyLYi+@be3tlDYComI7+Xj&TyR}51sGxZaMlAml`>g}oW^{^w3DP{|IrJCY{$w1=zA1hw_U zYG=p^{$Nh@Ft2wu`u+aKQ-%|!q}AA}zq!}HHYeeg8Mn~rf-BARVMagQiyp>tddU{x zMI`%k7&Qh3(eV-K8~oM9<~%E)RZQ8O5Qq^n6`NO(GE!Kye<7F&ynjiIH zQ60wFZsu?~KB}ZdT&J~KtEocEEBxU1*4DQ=?A(I(3*^9lm2$BMi-3vK&D*{*Zg)FJ zdffo1(P@sEyU4hb=#W8Kg22WKmgy>HABXKAc0|h%c16c*D-3Edo6hkmrhr5zlLy}R zW{0VqGvvpC1~Y{7cD8X@Is3T(z6e3dM(=7S$|Mdjg4ytW5iM=^NnC70#hnd{u!@_F zr_qW+{BZvorsyX1UIav6x4Iz)$yNug&Hga3C($7H+ysf$PNnuL{~3*yX%J!BwC51wvvC>vj9{>;=S3}NdYkb4=`fXKyy4uqt-cjGf=bngW8L4pr4)>4V zy@gEUip$w1ScM^KbMdrUrQg1M_w$R_Q0eH!>z@zdA5hm+0o7&=|DX?HGV|pEE;@=X z#n^9I%^W@;uiwfFvLFLZJXFQ4^}om}agy1TQ8(I#U#{+Zy92`F%`ESl_`<@<)0_Un z^w9l?=}8!G43)%AqzS(#8p(3yPJu3UyC)e0pz1={^vPLSeyk}v5-}w{e-=<~XGb90 z@dz^h(m#gcBy&b|>mfzIy>f)9k2uaae&%d@^=@4D@iL@4$-T6TUGGz+p?IEw^aX!t zoC$Jk*<0jvZX9N#T27j>>e5E<2^g+BXP|)XYX>`DOt;?tZ7I>=%Z-l00+`b~^^!gf z7bpHBcn@8Iq@ZQ_F|;c(Z-2-K)X9sjP6D;tSBE$hsx2QlKrY_6I-%r4{$*m|Rr6966asNc5g;mOJUYwmPD zy>Sw0Ap9aRoYuTD3X`Qr@do3FM@@B=(o1K+rBk1qvI2C|Q`x*|mStr}pj zzhTIk_n@{KCP$fQ>#>zlKWA0y^s4k|=E+ktpQ()RYlCs5Cs+N#Np5W~*sW3JelTS& zp|yWn3x63&lH|CB`P3$)pzwpI{j%t$n2nwyQ!u%_dI^<}A!#ot(Sk)q`+18Z*4>)@ zaKEgje@&hk>PA(5$|1`K+!d5j?$Z@gi^w?`itY*B9pq8bI%MmnX@R0<-&Rw$UlzyE zc9b078Yo6_*8P4zt4`}=hn+d$+m8Z!+e!;kcAk~fA zsqo^awLa3k!T*Hy{({BE0|iJwq!nmOzh-|=Z}nS$%my@c59OB8Yv2T}?8)tRqQ$8F z*Y8GQ63?kT=+_}hwtwmUE4;PP6G+RiXXSV8fAL3C19hoHGHtG`E53LQ#VyxSthtuL ztmmqt?F;$mkSSG6yKo)IY|aXp7+G=U9Qud-d0R*To*$up40R7rs&@$?lTYh_`xE~T zHfbUakMl)q2SkEopjm}Ql3ix#LT{*Jx)({f0#{3h+7qQGdy7m5b0g1XJ*o0VQ$my_ zl=`Xg728u?M2k$OmaB`_D`Bb4+!8DoCe(IrSy_MriPc7-Vrg^J>RO))?`PHg3d`B* z8T=?{DtKW%4Ip!Ndv9Ny?ESX);^p3tFZWMQ(6Pwsf=AYoH02#UNAjoQdepq zblMUetv&W#BtA+L(4AVX6W zKgKyovoU=0f4U0K5jRM$T~??4q*$h{MQ$NUJAjwuj8UT->Y^&gb9tUM`9yjALp=-+ zFkq_nS$PRg=>|)vi*W|OEsZ}%y_Eu;R?gZ0KJEMs1})GjHBKG)K$9=Twt?m3M_kOn z@}f6wX(bR*P2UOPzUV^{Kx_3^PkqIw8~Bl(z=y-s^MXj(*X062*vE5gGBw`%g*|On zW%e={x*u?GtW`L~&Qnpsq1Bn_jyt-=PET}H)Cc^VBh@+|wltE;jc>iR$8e&cI^yw5 zv1ofprU8i-Ll_eHv1!#Gm&#D+7w2{GA72nO2rNe&<0DXI(wejLVV8Rm=r-3HI#+K0 zFt~%3O0_D^moSRCRJgGAietJueEdRZo7COTrc-sPbhE{R_gkgn0V>CWa|8)G0Ixt{ zZjw(e_-_!p?F=$;XOlBi#pLv0m_$kwatbg78qkkVx@azQoo*D9LeW=FPR_DggF{)f z;szr9_88qle7;j3OuO?XX=QE+hLrbE#wtJ6M)x>3Ye1&N2d zIRt%n`ta|3ih-OC{Lnlb%lS}rfbx+=)``%#T*-~}@@B53wt)z{ahfUU?Ex8_wW3(befU^T61e;9l<(|kExi1e` zHk53UgM!~rQW({@mUD=2sfupr*v!|5q414%^Qj!*{+rKN^OM92wPNR~6c7?#WfZcBeA;EfUM>qp)Cp(0hymwt>8Auc7R;M(_+G zR$%Y1!xhF50lmK98wDbvcErwVcYHIl9W@2E4-(iyxHryz5%6N92LIs)?8w zjIOva=Jt)l)Upd-QVHHi_pkMzb{hAg7!kPz$_oYByfOiW?^!tqw)|1D46zYI(Lsx^ zlUk1A3Ft^}&YSNoH;v8H=KJLC1vSrURW6GufBo%?*T0^8^C;ShwcOzInYrm0PfW+< zM%FuU8g&-U068Xitu8w10Ef9U|$q_{$Du{N!!-WaWg;!>FX^Cl)$G_GR3%{^=ar6ZSr zFA<4GNb8lX&(wvDtWF@gVi9bq2Jgzy2{?8G(1&a~J<87|cv55aV4s2D6n?{B zdA|2Y#PQ$1CZS4LLe-6UZCV-m^(TC_fBO1S_TA*`v3PSkvT~$| zHwi;^n(g@|lrTucq>NN`Cn%;zBeQS5{^lF+{f#3%)AlY4%5K%g?}KJ4y2HJ35OQ4< zf|&-e&eFjTL$N{~i25~o1N?gj`zWSM)ESuNOfpaPa?DkmGO7I0T`o_LNbJBlNHz)) zqC+K>cB33W{J`A?uxiN5HEH+*YPNuhYDx_A>7SgKDT_~5(AG`MA%)G?G#RS!AZZ_b z1JfvJ92V>Wt$>@P!amzZX{3IE@~3Ns7AM1W*^?=@&=`R~^i*ga(|%mIg73wpHiDqg z0-DwV^Y+0=Ycs%j>j0A+Ya2$|VNU?1=?+_nLAJkhX5Bg+qA5=$1dR8@8F;p1oT}m- zymr{4PQIjX88)ZOJE$i*?jA}Yr?S9nmwfoJeQSyTP7<)zsZ*5V5EC&QZ}2~iO27vG z?>ftTY}>P#xS=|LUL18iS^Qg;;}m9g2>*m&8xhNNYu;LGi)Da||K-!!BKmYgYrU`kWhP-l;GJNY~Mg#&|R#WMRbJErUa=7z{5PH9p z*ghtoTc6bbkD-dp7!}h$gV^1I)mh0^nWNPK4LzuJMFM-!{{89vk;zOU(AcYGADGa6 z0N{m96y)$SnJ0voj?ogHj99RptEXu>NLP%?KtbaP5r|}i+A=MPlxYc@o|MH|!dVQ# z9RrFvYZTUaOO}Q-Qf%C_o(&YBh722vux}a>UjrTjme^t;vkLU|l=0197-f2`HGD_~ zK>+lv?pA+>bKGSJo2TNghVlS<7LC%T*{bz?AsNk7&N#|GSK0tw2;zvn#jrZ+F=t|j z$xeQwB0Mi3+h_tK*qlYnrJ;{WODUYj6=$7oXAr03Xw@{ah$u$F7BMzD zN=NLClr6{+8~(ewX&X$YJ^= zJL|lh=Cd4!`>VX_ew3DL7EJj^dDT}QfYAtKC{W3T%*erGS9BgA6T7R8D@iBSWD5^F z8oXUK5OFD6f6Y8!!fOQ>tKp1YSK(PM=ZL^~Y<2cJaGGFO3ow#)dP-)s5aE`}*fhz=TQBe<%N>#$(Zds%sLD@8O@(_AXM`!4uvYVMz?Vy z(53g!+0odvOm1rX`><*7UzlDPAK7UzRu9IGMRRUw&@F8JIpc$-+XrX$;TDAIj{l*0 zQhLh9mi{G3Mk~2!Cl#y7ghwKZxNlw20 z?yrCSUcXenANcagH{X6G$L6JSZo!w|eLa~x{?@#F_8)t%!9R&=KACsgB{NqfDpl8t=`t%icl+2$}9IQ6N8TKf{=2#Z^G zn@DY_=etc;&9+(h>OkQK1*_Y3m(?M^ufs8i$(7xeDR;BgoyMxaugmIC->S>m7xk8% z!+uwH6@j`n3v|oQD)3^DkFwLKMJWBQ7^$K|asS$@eKU$wvDm2g&G%`Bzm+ot)Uthc zC|d!N4c#> z0%R;cu;*`vvFIxkNtDfD)DXmMYr$%Cwb8mM?GUJK0%~HEdkx)R z`~QA)u=nif7Uik*Z$j_<&7myE-aBJ2&mUqw-ZDh78>5fKrA@3u0A| z+uGX}k3aMr?%MEeQ7W(a1e=y(?6frod*|P6aY>Ff6zwdgKqNE7&eO=S@s&4>fO2^I zSm$Ga2M6scc~i#QAffK8&B)@jX8yJBBf}+nywZ;2ru&RrJ$%CqYq@|HdnBn}$t_xm zZgAXUnsf=#zOcz^%?pof-W>i+SQ z4~{;|YKn5j@(c&5Y|&h#@0hGs#;o9A#J4J)0C!FCg#a09?+@4hmt}qQ-UGSR@U#-!$Gra|YH~SRC$bVt?+rOaF zzPd*OZ-m>N2ZttNfPOjtJF2W}p9oe6Fk%2B!(7Pa`0pMc2P=%aY&|;A$40$3R)F$X zvca^-kRy5g_aH-ZB5iLa8L!=eny6&fAl3x?!D|F@4Sb;RqQ_w9hlt*6v525Wuw_ha zi|c>Ea2aZll9bdpcLGp{34WSNb-A`b&ul}4OW!KZW*b$BqR#4`>Ou%{Udz8NWp#D` zG0YfOGLIP_od0qwYoNlg0rwR&;y!U3BJ0{OdEJ!NmDS1_J#j8Ur>wpAAzkPt-a!;% z(0NPA6_J{3a8n!HHYHku{82!1Hk|3++5q1vZ(DUlGD&_>CR^50=f3i(D(4d;0HU>OpjYi$C2fw3vGMCOB+dtN);&DhJ2*Od`R3W) z(Tg{)PhP({c(wQP#sAuWu3I6DX1u$#PvnkB*0ZhwN)3pi?31dT&krQb6Sa`fKxClj zKgzT0A}=vd0jJEgbG+NRU(614Yi@3W-rD;}2Z#|bjt3q@5Bp)ic0gSO*^~oYtYV2c zNd@JH$H3FY{OYKrzx!jb-lJ+;AZ_3j?N3Dq+~>@r0BQ*?pw(?!<)Rm}Zo#aAPf&-L zIHe%_Gvx zbXk5vF?TLw$G+QSt?JV?4kKEB$1m8T%>eTx1XYbx!Z%HDnPe^)Ic4^S2_#RRZ z0>Mvh3dXvmd-k})4?4i{*$r|D_2)r$8To|g1E#-1NldKkjBb7PV6P?vul>C(w;jkL zi(G|5^8%?FTn?^84gdizP>RA59N5Oh9=ulf7?Xrr zzB_o?wfV)KXj{I%BlEf6h^CONG``|Br!ot>qI`gYg^Yjatis&b4$Ii5Rrv*yWk)`s zLKT7*Q-Heg4Oc21bhc7%Bt#|jdTiXkwx;lALv3zU!ED^WhPH1u`eM(#(0F%@VTWHP z-MU8GsOMRIChPtv7=*9^1Ke!yu3|Io5J*FKtyDyGZGniVdxo9Ch4RN2@6Z})bt9V+ z9H{4)*;UPHvgyRebtHV2!dBc&>-Pgg^N#%&XSKhrd#4Nt1%s&B!g0MkAEz5NDpo+P75vgu`vK`i>)`U;Ltrf;y$QX_SXF5SsvC3Y#mhc_yRR z8-cfmhFUqhx%e(Xw!$jKini22P`|01ONg@ZYkuKnfC(^3&YhBfRjsmM z@;>N60_>bLbVPBau7GD3lcMuY{|9d+x-4vQ-I=m5#5oo^q|!9%JC#oa;AgQax@U5W zm;5=5k%E;3I|cj^Hmr1p=dwDLH7nX9nViEt&YR2`SiDp^`O7-YpEv*QtRAy@S&e22 zYt!SS&!0UkEacbV&E}@K3;%E!w|kxB&9^7skD&bf5g-P`)xo@n#eQL|%2|fqc$L_= zx6u~|Wc)%_E~}ADLdlJL>hFGB{1YZlQ7;&VEo1l{uH7`XM_}&*6_4;WVAykYTHTebP-KzRaf3{&N)-&$)>k6;);@2kosUC zAlWCL8zdg;CaFuasljz+Hk0V?FlRrghpHsmKzxe=7-zHEzkcA6--CZZ{h=SvNf3*6 z3SWks735k?)xi+TQ0ihtC2Wf(#dw#W8<;)9WrKn*>5YA^%Tx}G?f83fm>YnBnf zBW*6v$Ff2s+7ThB_OYE&51B)DJ6M!Cq>R?1L3WWa8_KZFC0%cMB>=r0`QEI!y3DR( zd9T@QbDB42%Q1uo572bOcAP<8*GpLszIyWAJ^bgSJO?+c?Qg&S>(}2s{^r}icuj^z zubmz5VdOaM8XAg490nZcBc?JKim)8qYS%Yz2*N5cc5PwO7bGK*0ZN6Z&aqa70hCun zN62a@z`aQOPwu9;Z$QNebzQ`Adu>L zTx-a-HIZzQ--*EkGD{*}b^rC=Z!dl(!`QRE*U$D}zTAH<9t`3=EXFnRS?1 zO%7g^lC;#WeCD6F1E0?#+SNBV?bZ?=#li^)V0U2%39zdAmlWcj$xA|fv7`;{d~ACi zYdCVa53QAfyO95knW$8z;_x%AieUIf>LjGQprn;Ve7A$XF>OWeb=qR?c11TfNx^Ok z3MEyr0!hVS0L%!8h3vN+k%9c5QcH&&ipD8N^)%r}+2qGp2wJ#Fjnb5`N8$||uyrDw zB>DNwe0qg6XMY`Z-RA+(H!sovaPrKftyF47R;Pt&e8GA|eFTts9KJ8^Uwip6gLZoq zG$x*G-MnWX4~60b{_My#TX;l@dFJn&FEJ?!r7|Ji6y$nG&n`=sIj&^((Nku|HQRwp zia)f~NLKAUt1#SQQxboW)!lDe3 z*OUaS5NQj^1eU;mdMfOuGzx4@IW7@bX2cijh!AGfv;<$^V)PCD$4;2Qn_az7>v5nj zrNnKVUN20-?lj^P=oABzVj#TM;=B{iua4;PM}dhcv9(x0kHGuK&ddz>V_qY)f~m`9 zn8Yl@WsMtta4kaCt``viQ8X*7{4|GTQtmE?DbE{$4hR9Fj$88cXVJ2BBxvRh>i9E5 z2O!7J9D;GL(2-6~#mHa05#YEuk|v+F(&l)aPupKM#rj^4cf29^E<%g~=kLI~bg(uz z?H~wk0}EAA1o_vjy1NYCWXSqI{x;3~KY#c3<%?%~M~eAJ99T1G`hHwP+*JALsjS#R z4k!Y-Q`6sk+o5M2++tZVISV{x=?MQn?7i!H+eWe|x_|pAT5yH}!X`+`vXhX8IkK%J zUh!>7PUb=@CPX$V*dV|FpkzhldWQWD=g)bM^Css>&R11^!-bNaWMNa+Wq5^Bov4t`WU^n%A31Db$fYbTM#C6}w`qa;EzbcJRbWbzsq z+5g2?3KkM;wJj0nVykdhr8qUg3T5U}Ee6*?PIUxFxOd7sqekQUm;qb{*Y?P=+c3B? zN~ru=~6!UL)K*Wt^WGh)5H82I;SQ=c^s(xdg$oV0HjYUIMM7eU~ z=C>_UaV`?qy(y6Htx;~t-myN-D!S|EP4srn9kfFl1kgOGJyFFjMx+bz`!aJagiY*= zhW$wxxN;tR6dRa1-l8K{f3WaiRVhf8I874)2n8&%Rv-!o!Bn)U1)Q`0Di_af&DB{x z%8-TFlJZR60KhG`=D(YyE3{K>e18kSI{XB0iQ7l4`p{;3x76*kJ&!$N_j)%c9U&&~ zsVFFxTd16hG5#B%VQZtMn42@S5fjFcCf07A!cN3{#`)qJ{kh%@e4QLBs zF?qF zDY=T_T`Q}DoPA}$yY=Xb>Tg^Amu+oPBU~dedn^_z6 zx1GgNe_L4{*38$aKYM|Y;M~sVgh>-2!kRgqw2{lv9lAvzvo&ftu}PPLY~3#Lw%LWV zm!R4QhhUCN6HBPM2vw(~oG6nOTvEPjhv6#RDov6E%b||!Uk9t`jx8p54UAPokO>pv z^Go)jOnuOnlAk|q!$#GNHgUB&37 zOs4h})5GO5CutP81|(3=t4pUKJg`hs3%-mG***VWeIzmol|N9 zq-)QFNQ@0g3LdJ8x0R&3?41Q~u3Q6ECp2Jk8g$D8@-wh11$S@GWU?G0-NA)#mlU;4 zeJ(>Gt8HQqBtScWuVs@cy^+#c1wxb36`iBemyo)y9sY?{+>)!2CV&C~;qN!8JcHjR z^uiid9kbqI zE_`DzKYcZ<8Eu@<^3D2NrWXuA4VJLhmvZ}Uo8@hIpoYkHYaq9sf41#RS72@nGL8ou z%YN3${{4&0ZcXD@ZR1my{!Benp!MSa-vKtue ztsKiIb)r6|-`bbkIIDl7UO zaw#5a#Qdn?_{NZCMT;=-%;|U!T&8dVI*^2sXII;>eU)D{_EIK#7P*N((kHIm8XA?< zH->dPbxgV#>n6Do*KE6+D#)dLHz7ppYT^~nsn*ATqYb#7(2_Ak{s>yD6prNImE=Or zADFPCPnHo$sD`WSLMk|sWjCnbIQv9{(7KjRWOb!gU8LaMU`N>?1F9u=toX!R!v?Kt zn#`hX0WL_O_qQX>l&cY|ewl?7XHJShNbQ{2Wt$=3bkeS>zO9jg6?p=k3;fzJy!zyn z1XdmPBo<+kv(>V?=;bqvMS*vho>Z$WMv1$aKr%;T2ae^!IL@t5H!3jAc1hJI2?3-0 zH7exGV!-P9g=~?c{%!(D*BVcerXLvA{0*|Mik`D-Ytg7?wuNC89u+lY&~`K>{W6?y zvOL+PyRk`$U+Z_2e+xyd?3jTx%?dstD3O7q65i~X=t9zHO~(eR+HN7_#|E!lVVLq>vX&e1`qu6E~$dP=!^|D`d0L+5J}{fc{FIDxp7+7Gb#Ow_Cq(c-Vk z*s5d>v>nsbm&gWU8(-A0EX8gD2WL6>=V$^XG$znV#91uAVCq)6nLu?axkD?dX%%he zqF5~z;A*%WZReVc0?*58shi4KaT!eno31b#wiVFe2Ao6tw_!-lh_9>{XsA~6IHcZD z2IhBiC6ZaX)oet@$CLGWl5kc?Ep>SvNt%;Pa>kB%~bl5+I$ff`A?%ghg#Y8*W zdJ+(orP8*%HB&@P(JhnmiAJ>B^^*-ow9Q`VTWn~{b(`F8O13qUmQB)h*~sWOZ=)); zUbmxe#y{-yEUB4IV@kUSu+2-Qf9$0=Q;RWdm_~i8H_sqs$s|a`^bwG1;ZE^(S*H+vR54 z=)P@p@d=&(gG}7IUG}}8#Itm=k*C47&7xM2@;r4r=Ib`o2JkULD^M8)g-mGAR&%h> zNd(22Aq8HNq9rYC+b}8`LN{12OXNFjc`(b#L98S-pbEWJv4BkLupM#;*CM1Ahlt?m zjO{&G^6Dza?yyOu`jdl93z% z(GLdUgudgcuMIRg{!zfxF-AJz#XV02wE9OateY zq&L}QDJ~6(4A{?-qM>Hg=1`3T$v|JEJN(U%RiKSB{ee_dy2^49U)*SHdaGUUCt~bd zv<{!_lW>c9E&S~mM0k5)EQ|j7z>S-6LNEMfy1ZHO!fMPDAYyRSs2ST=|F-EyYT`co z?>72}l|1Lp5m_bdECX+goA1Gj#O{*}(O5}OrtqUW4QZmS)wS*Hwma3j*S6l*H{EwP z%=eZ~uM(h;=LzaNl%c$IHB_eLQdlj;gImeXPcyo&n`<=DP`6v+Gutk2%Ur4N>zj^U zgEa4EOoB4ek~}7iW1T9;Qt*>yKH2`<0J6!_Z`&%O7sQ3girbAAZ*^5*wOx0+$$s7Z zFDDx(?Omi|lgQIx7cL3 z6fvDEGRwl`O;pjg`?oQx-7}J4N54vXKbf);U=lut)2r{L{%LDg1SpC3ik2eYSQLS3 z38t+`dLx;U3NX^aUqm5G6YL^!E)Xlga!sp-A+_L2LuV@1k^kc@nx&VuVnxb2br-F2 zSOj!EF->nZw?@g#&CsyO?eJ=@cuYDMzbCh#B~eJaMom4|Oa?TW?baOv>)IX=mx7%^ zX{Ds{u@)XC%8RYB&+wyCPfA(_2n+eM*3-|65V|#J#;!hdG?~*?rY)YWo3wv>zzKPj zePJf{CMATl={L)mV8}P1T}V!V`-46iNjsLanY3oQxZHY8lN~8VLoHwvvEi*&lm27p zCOzO5edSi;e5(x5EV7*I%7R?ZPa|zv!bXrm!5vkqo!)}>N+}twE#8n^2^(wF0Fr+% z@f0v?=uWfc;MzS0-KfZF(!8qvrEZ8}jk*cxH){Nut@Ur1C$vWbql+Q4tROHvl3cO6 z{Ixv)m=)07y48&Uv*GR`Q7=0y>+~y;tF&hAc8ywtKgV@770$-wNvcITFe>Zyn(dS; z{+1ms)fXj!HiSsop&`IQ1L=5pA*MG8&8^5gob^1+;-f@d?*T_27|Fu!8~`E5AwgtS-00 zDOn#?ugIorr<}ZKp2D(9*?`IyV$-Jd$tHg=!l(&vCXFy`zayC$^29z~cHS?r7_>K= zg|bWeca=tylvVa8m3@YnmQLq&Ddpt_OG(O+($}$vt(SILl>o(lr!%aS+ah#iy^=@M zeubekO0{avq4QEmKOi>y(h3y$f|62lmS&e>Hnj?rzZ<`be%Uu7oKEZIj#XNfCeyx3 zjZpCuecN)YT1pbP{VGvaDJC!R(kt3MZn$g^2v&9us8y&lS)6pd5XyK--U$k{Hz z+--Ia7RhQMGRWv%KPBpKE(*120I`8=ZdS^C{An@DNugCYR*G^mebQ!dAe)@Tk$?cN zXrPf@2#gp5M$gG^RaTFT`Uk;sk>q8w1C-~;oH_~F1hZ9Q+OgF=$&}Q2b>PYkf0?Cc zv8YA;t0t7&BG3eHgqid|Y?uTZFT-pGI>Z1VfMx|8j9GA!^Z`)Sv1>J)D^OL$jxfsY}J~K;B|ECZgH>F`?)d zO0G;3hwUrf8MV^iGq;VV|V_Ud>qq2ZCnge~3QLg>hY&q9z zHGgQSVcEoqs<#BoKByLiy}?q9JaSY5h|E@9aog%`YYt5 zhh&BV`U)IRm|Hpvq*9NGp-VHCM~f&9Gi`d3+EGO8SPON3k)~MJ(kCSokZi_vrTCK5 zdql?amCY_zycVde$Lq{^ja{>|dLva?%FlgUT!Bg=>57lO?F1yTVcA``p+v^>dK6g6}VOD6HUo0F&b`yQV&r;1>dCQ5b4|I z=S@SrdwKcbfs@3%68=`=PXJ#PQcz)VjuWU&om7WJAv*1y@tG6;CiS+c0V^BSo~k!> zv*e}>B9)`}`2jx$wFL9WmJ&qW;4;O$&yIdsMHgW#NV825Ok@U)Yz*b1sUR?gSS%r- zXik~uONr!HxlU`Y=f#q0MG2)bRdkxCa7kky)g@1A1(WCRhOT~oPu+Lre6w46Yf*Hb zo>}n`g4g7};qqBvvHXKt5ugoq5qPkRl&|&M?s-*%%#>c7u_UmLw%@4>+Vga3QI zUiJS6dwU0atatDJgWlfWg9p6>*4ukf8 z+<`02EIqq8@DKd^_|~0xY`?dEz>cOs)TituOxOz)O0gGdmSPy5FWH~tXo6zS7th|@ z!3*&s%wUhxfeF;*=n7tV*A5U=a9$^cGawo+2^^iw$=L~HOtxt{SwZ~Df#G9Z;a$_2 zaws&U6R6T+y>_HE+skkvoG8Ip%Pd{y>fznHi^=5GvY;0m4L3D#negAe6ZwmDx{9F+ z{cwUH5Tlc;#aSBrMS6nR=1n+1U9Sa5xx!Ukv|5>~AH0nWpcP0_82K)lp@cLUYW&xm z!7R;G*cmiPQXkWx7-gq}WR#r-k(+u$pmLY4@cP0{y^Ye_%Lenn^@2y&8y*E17{-?Y zVt5>M?{?>W6?9wOIiCgHx83fXFN1E-o%8dc`*zr!^J&n1+wRW!BIy3<{^RbP&*8_@ z?wnu1kE8CKUj^MiJ?M4k{4D7H=_@F62|u26=llqMK;h${`=|Y0cW#FJ!Jc8vC->v= zGuLt2!qdL5m)u!9=5fKDk@Yy|&Z*;>HG5@21n9cplskXge{9t}=1$vsjN$t|>%|IQ zJg{C|ac68jo^j{edOYIJ#(KQq&d+wg-dp_w5lj$>q2u(;8EEcxtykyV`P02`9dBco znn9^=?dDzsz#_X+Kq;x^kH^n+lo6Wcjg&@v*K)_eTe)YRz-IWO%RdGpcqDXVPq^cF zW(mK59m|uz={nvunvC%@xZdzd;5a-C9CeuUpzxz)Dn7oNxz1h38z94LzZ^Q=Kz28O z7`0mYqoCJnxlsVR!RS$Euhnw1pzw3RD{hZR9-rvPsJ+MYN1eT4-q-d^JPm|9@jU#1 zm9zEQ)XzO0>iRj?)jVFsP0`F1c9u&RtEaZ@Aey;5LOm85cNKoVjH3bz^DGedV;W?m zOt#nAI~_Q_@9YFY+G;uUW4$J~8rP9CHQ^!8gGARMyb$yTlZOh>VA5`T(aa5lY&1FL z1S!PcOZcIOag+!7qrFxu?{qYlu;#>npGFDxvh8%8b|ybftPdLu;I|WG!>nKM#N*e> z@}Zx#-AStjOWB^ZLykG6GEP~1QjV#5Ub~^UF+25yrdUm1s|C?{pQo1)bq69c+VftN zKY2qTd#BfKy>_}z-@@UCHh5R~VH}0|tJ!)jydVhN!n`P~o|@uBOvYp=EX)u6G60k*rLAbjlZ^2%%ghb0Y!V41h{_!@nEs*vJtrvIA$C zE*&oLXao-Y>ulUN>$UqPfVfP&TmwuD0tfzuI?|*daO4koC%sAn$Jw~wt=H~%2*x0{ zcL0dacQkVob@vv5B0?xF)ro)*6=~)=XJIZJZy*9!1VyV=_;XPl7DX1F0rT%b3QC7I zslndepWj}#`)|8%yQ81qc2C<~K(HG$kraSdY1O5;wZ*Q=8vzQ zO?y~6-2K(ssX4UvL$HrF(hn@lKB(Vf*+%c6XN$R-{kUL zD+9WI;j5nV{B7igY=|e=FO=LaINMP;tpKgo@a)SI3Xj5TXYJHX;!7g8coyvJ@if@kQxkfP233MfF=oHu%7!Z8@}N)q8CO%Q zmPscpA}xgs8j}wH;(C2pTkEF&)fEN-+L)H6Q$p$&TupvI*#y)K&w^{zC-%R`Yi9#A zBE67F#x^z&l<^4via6^pn%F zVL)WHa_W;_KlrHEtC+K&azC5VUkaecGqZ#dQ^Gx7mBl z#)A@7h12QLg-8l*`vBA+R>d>AwG0pa!q zpQrW-E`pt&cU`R4kR;WfY1iZD#`aox8%`RS?=vy$KeGbG!zW-f)r4)aBIAzgi^H!i zYp5|QNx z9_Vl8Z2i4Nxlc^yB7Ti$SMbqaPhmfEn~VLgGQF?Wujz~`w_1Ni<`hT}6iF59_0Enf z&?&Z6c-}_%H4PW|sRokwbN?1>DY0I=+v);`HTs*6$)ChDI5-U)`P<=t8~x3v*rTzS z249~Bj((z#(-if@`p}jS4*Odz|FU z^efB?SW%HoapDpYbVq*s%i+&oTyI=&^!Bv-_U)-Htc2)1FrS#*Jm?{hKS&-LjyZX# zF6V)|STp3UJHYn?rq2{2&jv}mz0sT))za06WlsF-UO>#=u(Q|S>#GlsO2vzE@dAqP z^*eigOR$huMxgo#P9te1cnU%*_@%~{Sz}A9V-rCp+zccdDaa3Ce8Nb@V0_Wcg|4Ap zOn8>N3PdNtW~bz0No9PAz^q5=0}I#ct*%iF$!oJPSsr1EMD+ z$2)X>cKTXM3V7WT9$};+VJ2L!_~^7h`lfd}NPODTt=5j&0B+hwaV!Etk!;W#WM*?_ z?Y06rAuR&>x&#NkHn7p^zzqHU`~4oSE9|HVq6IHouN8crwu6bJt&}Vw5!`wE_KTL| z@w^=z^aj%19yfvnA;|=qV*zBJ2n)op2`AT*Fz!b@6Lax#*^f8DWFRleYvk9qR@tbl zX%)olwLsDA3Irv>yUyFeUJr?WK%U29e)Mtaj@>V=R~v7vEd%m(RCwUrWIBvb2@8=-SH5~m~h$DE#a;D6OC{q1cOD796f zs|a)mk6$=_(-szhL9V~>98c>CtTjrxy(b-~??hTraGi;M&JktxGY-PoJ_wz&T=Z)U zD&Pe&v2b&s^RG833n~=iL8@Mz7!m9ZggG(7oEX69;&i=s9G(W@NC1XOMyU@w^EAkS z$}_ujm|0T)erB|CTw5lXj%vj0ILO{xcp#N{Ad`z@)DY{no5<5xse{yF>dDhfm%5j< z0~K!2KA586U{35)7MfF*ZvxY`m`X#dW-K`V4B0y^W*>corlB zrCXM_)Wnv`c-Iry-4vM~bZ?_mtef*F={C8!)vt)cYJ8?6Iw_YM&_}_DyKNFG3LZgSOlq_ z#T=zXOw9Xix7&}VdD|a*ywtBf)h~7Xtn5=z?T0xO=F1R&Y&@@DxQ<#Wa^5XcG)`SD z1Up+n%pJ$WX|qW7B}`d6$TvuUMVh!Az&XwXF^bylQ@CM4e3;8g^YY6GV~KdzlQ0*o z*Qec;58b%cnz66|?>Frp`oAl5s87d#0v`{iEWaj9Ms?DxUMTjYhC zd&8yc^(CktcfQ09q3TcmXv-f_r&DTWzwdYi5QY&1tI^8bCc{;*vJY81?0g4iveFGmHD|$3zFAynzOY;Sh2;**x92 z!iV$eft)K1CT_;B$s)He;D#a*?c_X)rshOn$>t@lm<0=g z3Q4{UMk~T?Sh}S9DeB4`sf!(s)>Lu>md8YVDj0 z_uOl>LYLln9-q^j2uiN>rZIys?=&S;1ie9F@KDiid#Ni%#VJ4MxEoZBQE}>R(8S_g zU5C>lio`;9>TUY@#=1-BRs>Or*&!Kd&`??iwi?Pe3?%DHZkA}7TH*0Mk6Zg*2{}V} zOH*QA(FxZLC3Vr9o7l2BF4VfwOq$Nv@1a;z`=X(JGxn%ii(;|mJkxxh5;>+Lv<8 zcT!1^{oUQOlq_Q74e}r@4JHaE?h1@k$VP&vXfEQT zA{O$J#6X&r#B+3?%AKT)fcmi1GIl>nd1%3Kj)V{Yt=HEZeTi#R zE^g%^>x)t@KeY1gFYyx5q?SS2>-FfAE1@`=Fj;wa`!cKxw^MZLm*uo@P}QP69P=CT z$xv9t$a)PYs&Bn&wXPLyYQ5cTZq|1c+*zd4+~Ja4zus&>gJd{~@|15lnBU-ptk*jz zWHsF+Qms%{%0WWHfr{y|Jqi!RhC$8RIvK(?=qH+jHT^-PkIJlp7)X=KG99Z-;(7yt zXaoHW3g6?n|Cu#0dC?Ao~%r!Ig5X#i9a=#20w7>QF)TKR#oC>c4yhj3HhSXaVOI3RtHW0Q85 zdOS)6lLW8a#2DW#!Jhgl$R|+)mU-8t+X9lS)pCn=pp8q1P75UUUOPbvR1qaBv2i0e z^M;wZQd_N8NQ3l88T`z=Q?IOn*YL$w_|mFM7H|Tv?n7;Ree`G5O;WQwEzdxCbfW~E z2TB7_#_70tXd_OBKmnTjI!-&YxENP@*@Q*5K~~r;l)#m>=9b84)qJyz=1Fu87wxpA9WX=2xXVTQ$7iB%R&4< zZF!O*^Hjc{M(JtL@DA=jbz4IRN=!PWMDM~FiKBxYGa6}NSd2!u!5C0(AwI2poj@(6!Rbk>tmg_ zCU_Jf5`Z(Sm+qrlx(N?!3zwG_e-R1%ZAl1-G40C(k4PNY??!^;FV#G;a3d7!bz}`y zoC5EcLBBPEaARM)Lao=aH!4mCS*s<53r~cbVdo<*xaO%zy%@XRKo-O4&14{mEO>;{ z@2oDwegXlkz^7hLt%>@sG-@IKijYi13AdW5lrWYenzBLU11U5D{R^+mN01NH4t8^U zcsUJ^&`8{BJppGMGd!?Cf(2B#&XQhyVWHdv9azwD`&f9$xy#27!b5$!Oqit3xK<*` z&}884U?^t2&jXK|Q(czf23q>MtXI_TJ`_fM4^U z3ChsUwkJksms7WdH&igW-0Rn(>TEWWIy(Wg5n>*V^B>7391}glK?XJ~o?vLk{`HGj zPmlWdHj;(DF48_J$VTMkD(&V@xzePf4V5zBeVnF{WSCPdvnO$w=Y3gEnC(=0Pns1| zGmF9}v=BcLdyB2h!V2>{%Wy87&4x=K{{9z&V~A!KtV!dv$ot90LIS=DujV2S_xQDp zWQr#LHX^TMUiW(R93*Mhn0V^PQS!kW4R^>}x&!Y!RMhcK`z{7s8M`Q&`(fHI{Bzd{9e(Y={CDI@aHF670%!jT=0pqsZC*zT6F(miLoDQ0gw6RTY@7n&Y}@M2X8C1!y@iw zClEvG&`wYci@xPv{X%HRKI5`!nR6$B<)gt+F|C+0@YU!mcj{kmJyQ^+!r@VJF0u$Q zNDe}5d77|b^NyB3oDC<8P3LU0<#g)J9%2g#r%j)242Pn(^()bInF@-w0k<123wX<# zI!A){z}q zw?&htiv2c7OOGf%7wh#-v0kUG)}dSQ6f`kdufka+#2*^rMG-tIBv-?)XEFGaILkCI zoK1=QPSw(L@Z6C?cQspR-&P{gb258T(myz&nzZNF`gHYY@<628$Zr`$B+wk?r~Euv z4tGF@wIsC(h}s)?!sT%3re1$Z_-Yye#+#9Q$vOCpq{&YSILa&Ty^lTu;du zu$DGICBF=~24|>P9^5jdsTtCGJw;@wak9CYgA>?f2CD?Wz;iiTQ}7sck@YA{mJ$%` zOr(@-bjp)po*nNC^3o{yV4t;3(^0x-<7N32+v{<3WP5 zzmj)st0moKk1^384bbGbZncbeYPDG4P@*kut2z%tYgdC{lwYSpNW+mK)~aj)5LpNPMFBkc(XRn@UHgBP57hCL?@pzJ<%RVs%q52KCI z(GDu|u*{Q^>5({XwMYWX;9+35hQql+k&4#)23J}wuW*??dkM{$zyX7;??6pPFn6t) z@w6LYv*o|^NgaX_0RHm8R#wv$WEGUifEh{KEp&t4#*Mie1J1uY3v&L!oqb*e8c(X9 zyxwCvGieocfYQPk1a8*#bvy3ZD1!2w&G$s5;c(vk}MeBL96Yg zU`}hZ6R;K|;b;RHk_-VYYCUOP97WM;jEgyJ5D+$*7k3?Rm<6C<>eGqJHe88;KqLd3 zhgM834=p2YX=RKcu$m7z7wx$Y*hUAybBZBYsQ;y*Kp%ymeaIDws#L({v z3GdZrUisw>85DdcEQ=0pAD*JN+-U7meW{I}kjTgajNWtT>e{31lD+yK+%Ch`Gx7c3R>pzs3_LdFvhwGMxG_a1PN%B(nU^9&{d1oRo->49Ih$KBbm zDioS|{dew)XIgLs*VTVPd>L>R+(%z|AjkTDa|Oq8o)qK@66BLuj|$t1cx@JgzarVx z)-{E%YFXiTZDnaaS2_gBGw3o5E9XX3{w=-)%&S4wxmgJreS?& zqk~ksP2{eJ*^*pO^0&rTx8a-@emM&Eu=;}HwONh6vrGYLLrZRQ%MF9Zyd#ipk3ib5 z>Coyf=2a|atN_BGHwYh224Tr9OmE%rbO3g%q8zpub_B#$ns^@QVx&_*KT*Gowno^H za^!RyApvs=VhHJ+q_oT2BQR5#3Kv2^aa-4g0Z$!{1uMQYnO9<-4O0sm zs>D)oq5b1VcRvh%v3VAIGb!@~9)hMro)ct7lCmxjiSwCE{pQsg+X8UoRbYM;Zdw{H z#cHjMHzU8FtSlY4eZZgCjr!0gs7bU9uRQbyD!=loD^mJudX&mp!NYHLv}D-z=@Vz~ zTgwVVRHPjgJ_;v!!t44|Xpn!W`CrwPcl+clf6Ka;kTd@p@NzYIq-SHjZ`B=kE?X-t z_jgh!D+_t0su&XrjR~xPD-vyj%ZbABxu$fBAP64wI7rGtd-~TKP!_xCdL0c{nhF&r zE8fIa5gwveD{i%7$z5$go7`VXhTfD13$Ce((E+y`^)&Lh0F;R_fb7sd-t|xGwfj@B z@<~oWN;#f+QVBf~zD~2I6h%s8g#=9)oVY1zI_-cPc*7xCOLrWGjYy5|Wv~cRJv*|) zNM^@;2Hd9`2S2!x8CNFr)AL#I7uVxIq8W6|LG$*`O?gyZ|2@2zyca)VS`x%TtPt)psb+PTFK>%!$Q@jR)vxwY55nrI$G=6WqSR^av+AEb@M;ev3muR(~BEGYZ1*~rdmWGOXPXrh! zttgTR@m)e4ZV@P}-H8aU?Ho7#DL081cY0iV4K(;=@Kp63yjF&8LVf`y!)ljoKD>S! z2%h;09JnxhWdrY~>2HJw&M=v8Rdox9lww(jmoq%7w2lon-a9*uE!=EAPF3)$Yx@~U zt9Kk0`BxlsrA!qRXzF7_Kqn3NBeH(NE2CBDOxjNbM*%C@q+x1E6@*B>+Vi-T0dj_E z7t5(0m-x;kb3DgqmA3J(_$0G4HjMfuI94Gd-wA@pH9pGgmrdo!_T&0j%5y9@ctXKg zRIW#iMrpDymelSiT9AFWVt$ubp%caObov3CT&R=to7j>IW1bra--T6=daI7|VW z49iy^FoaPxxteDec_sMN(*%IfNzhV(%ZM{C-v!nVNritkfo=Du$QmJcxz< zP|k`G)DNdCf>Qj%p;)g?oJAQm(S%r(!4nQk;iybx`fxcRV8@z=Nz? zGnmk}^ta1yxBAyhOg0O~K-<=fCdxR`h!u1Q{Hz|-9wS>*-XDFV7LxES>LfvBE^e{L zOtdwokk*(!J4$lMf^wCv7{pT(Fo%X@p=m5IxlX9FgN-eO00Bpb+U2BQ3D&f8`R%#JU%-0Dr^^+#vAE|N|h2^!iKNsLupV;SvH)P0(?d!37@oDuR#^ySb_tG z(?)Jcn(|v9+bp^QZ4_d`1&pDZN+tN9-$LS);MhD?QlkW~1g~n-f-86@?WKY*3G@ZtQ)Ir7Su0I+kgtn+G$UMBf-T6gns|O$#L?ZzwLi2|H}oeY&TQ}kh%XpPm@2W zjhpko^zI!z_^Ois<$mu$??3rp{uzIeo{apV`!ZFT16PmJXHr$g)=b7Rq*Rs8ROFK^ zLIwaz{RI*ghiv>%+Ajhwcr=Ej^Y9iRkKtBWa-I7+6UkIi%4u`=Tt>yYe3fM)U#1vc zn?Zdv@IDtRMV7q3i7na94UAl7tM{EdGO;GvRGN`}R@Y_Tw{qVhb&b68@b;Wi&NZeJ ze_44r?NoD`gfe|A(ybkPDw4Dil&p>nk>#KzRIm~C8FqgHrk7&M@jWGSm4(JdO1-C^ zpTRs9B1^(JzET%?k;-vOxxP2%kRa8-l6g`^R6vflP^Q^}Kuw_@6H~oUGe#;Pdj*tP zb9Hx}k^S$MU3DUgg2Fdpb!!~p&7(W5WRKq1p7_d;D3`XLC^t z5VI?5P-I5?xnugvxxiV}`wf=y(U|4uK$2lNtjjE1VhAJfI)olXkOQ8LABK;{tO(~; zABfZGpr!4$v%94uWLpX}9SoKLu_q@d41qzOkle-=Ii7~veq|aWaGF!4F>8!mH z#yMu&ov0?JjQG*`id{q@ZOn=(^;jj1L{chSO>iSskFsqN{ZAb=HXL95p`))_e}CE( z*rwVYY}HJGl*l-JHX>Vj4$~o)@V~L_Vh$;im{UXx`afIY|CpQEIsKHW(^zI~cWAtA zzYuE2StJzhvuA}4+y!B~B*GdY4=<+FK#oC|%1xZQ=S8v1``zy4<)wdl&rh>?_swzl zGK@M{aL?cG-nFZE>hd@|es;+6rI`5aS;7`6s6NA7HwlmGvbWS{=Knf}|``|6-d|J~c${}285Px-UyKgT2iL>%gX>RqA$%n3+u z7h#02(EiqcpVQk_vivZI*IP14s&eo1sfeSC>=TMEDD_@L!G$UUm_KhSG4%^sMCRT! zsM6OzZ2*2P1*Qgp1;JR{s>qlVEdX%o9b=GhaJrf(%vpyDaCHB5t*N*Wak^Zf6VB&U zBOj8RtLPdVQ`wR3T%X&0Ob9yp?Cv+zuzId{lIf|+R;}k>&vpZJdtR)8)gVh~3c{Bb zv@ad~jaXs%Q9bCdHlm~=r8l}@6!YGE4%QU|T_wN094lh8oZn%dT zB`kwdii(~`#rf(CigiKalBZeTMF@0r%B;Rnavmmg z5vTLcB#vb7_Wga0DbhkD7X;&h=BWVrgdfDTBlV~CdUG-PkXju+us6YZxLjU!)DGCY z?|)_HtG4tH{Qdj&kDYT7FGZHi(e0bjWzixFXYw#wb42@7p^k4%Z|Flu9j_#euYT3N z?pc6K<#3~-&}m=p@_W`4o3FSd?!yMws4yzjjy)*9&5QbC$?YvSmAR4;cy5d2ag_)R z>vUF;**tQE;d}Giv(A!*$$S-u8S6ys$@hmZzdL&V>N|fiWu2ULGNz~TY!$^*fJF1m z;3{FQ7Ngl=or(OV%zF&AK~?)x?6p(EdMsNdtV6q>bvhR!J4Y`KFdgV7*oT zSJwY)y6z8^G2Wv82LW(Z{`+8m??3Y2f5zXnR+E$d+gyMpl72+IC|4@=t%@S0&zDMa zpyKk9_TH%cLBG?eBWF*HN?#I!Q+9S$Q`Bpf8)!>IQuIU_gM1&=qD89A4ib?U%7`GZ znhKCkcIzAzDb9c-*|}B(^NKo_H)$(*qXO^qCQ|Ey%jOc3f{nrHddzf(0sD~7o5d;* zC(J^TMf15(>if8)2DjAYK6|1k7snX=Do`;^JptAH*%c!LTX;atCY6*%2hjcsQ!qib z@kIv$7LD2A>u3LdO0@rj{}le$B7=WG8@K8I_8;7@;Q#%--obzH|3BmJE;Cd<8|{oT z5evw>GzpVw1jYhJ=N>KQ5XDi%)7+2JZn9i-FKiwmznFVv4Slj)yw6eQrpXLl+=JGD z<}p>a$@fB(2Sp|jQu`FHL-Jl|(w9LR^e%d`HSI~_K9tcpo+41D*a;``NE&KX`QK;j&r`Z~ccMgKIm`QfgfIg9RGJJJR$oa47hw!!i*EPLjeZ0U?uS zVkWZ8KwCzWVwH(UQWx=1u4JA~asZ=82V>Hs@j+6a`%`hzjnjFWn?5X)xx*G>8ij%5 zF0rw^GfCq#>*SMju@HSW4YLoP!_EcBkpkynfBDg2VO#{{+r(ZiiwH=E40jy8dmV?s z*RYdxR$PXea9CIOI9kl1yT7roe@r(XcCC4Q*bTQV72r3Vlt}^D@L#oBvJ3Fgfz<$9 z_}f?QH9`A5OJa8@h6bodpU~K6O#H=4EW*4H*%co2f7RrhZqVHSt`qaqO1vOozi0Zb zF5Nu)4b9aT;9+;!jO89@Y4WT1jaUw4>SuBK;a`d7Oea2n)%G9gX*^M2e$S#+`tnK5 zeBxFL3j}sVV3(u0{Z;p1@9TSC?LQczieUm559hIuzxUI1z(-@CSTnP#r;1|7Z+_pxo)lpc<#Cv^SJ@)^fBx_6mP7cD>i=hUZR`DJ6ZayS zB5B|0bne{w4w7C2wGWN~O5`@0rjr%0Kgd8Bu0gWFbj;Ii4*c8QyX?PL(c}XH0UqY3 zC}dBbzU;H{LlXFvX9}%o6*nmPz&{^2j~;fZ^rP{e4tth#q=?_rrvWcCdXi4XNtjH} z(vPNJlXNO_dI^-O&0=;AzyLuTU3JdSzKPF)Q97JX!RM(+fkzY{qg?ZwuZb`0-?_us zcsxD}^Yc55fgVW4Kwx&ysSwV?6I71o45HYT*yTHSUK?f)tnhJ?Uqo|?!^*x}MN_eT zn!9uO-d(8jT{-U%cMWBsQ8K@C=LFbr`&AX}HmSi`oSt>Tj4Y*n>=(JnBGh52hc{1myu!akkQWEOgt5X3>O^p_l(3!SNsWrv!5iMvZ@18#l^- z5AN^v?pOUk4i5Ie`j7ngpYhlIa_0_XU)oaO3-tBCx9-Ga`@Q`Gw$%a^i~U(j5J8#< zFS>WgUY1?6xhQ1zkY_S}K4%m>fHNz19z0li^WgE&Jg7_$oMEII&d_9uEND5aWar>a z<$mGpoJ$>*fVZk5XC{8Q^;=a^@v7K{?yB93mDnAaAz>wRjP9Wb3APgiY#bbI8{FC0-9I{cfeuA(diK8B z<@D^m|L&d0se}zZJ$pZ*+?9TjQVy3l;rx`wM8!*E>UOo<`^mRNG)}LQZ~@mB?x37h zy3-Uqe(h@Ebc(m5?1OZ*F2cDkgxyrWimg_CNv!V>lIhMy?!7S2qj|yt75$%{2WED_ z`}OKg`WizOyR(Ed8MRo>lZw4|NhMgot~Uex0(ZL%_Vhtq!2*wy2I}a&0sE+MCV)DEQ-Z#%Mar;SzU&?pY@phVF)~0oLDIduT*Yzs;OqVUukm0h ztblM>P=-6WW7g&}%o2Bz&((~=R>5eMq+a)ZKg{Mi3v-~@&oU8y$YB}M7|b1xrgLd7 zms<;o6;zXeJlrswBPz;0ol1D1D?nUC=!K8l#Fei&8|{uPLLN$-_Sr6Lvqe5XRY~rl zE!vA}W{;9didF;1t61dB{eS=W|HT4!vV=rv@V&z@96f{g4tvNRvAb*tYeOF~x=s0O ziv{!z!d=;)#uBx?N?4IDNf{Ovk-kV7#y3Yp5x90G^$)-#ZlhC4#yxuQ#`ML^hc%d-jYn@!e;)g6{C146 zbjxZ;z_sE52^VM4d=(W}K6|WY-+gw(*|*vgP=tT)Mn%Em_=ZW z3&u6^6<*j=79}ur!QO!#co9uLykqVd{yfzS836zwsor3;vdeRkfgAZG1bzoMjouHa z1pW3~wO9~p1T1k>+W_k_i;6;kiB1#?mO>Z_*hk53;j@!)7G@FN^UsdxrC#^3^YGF2 zW;}-Q7!cRw+(*>Y?Mggw^w&4XhwqM$PL7U$I(qu<_=p9pJHp*^+MSzn1n*d&b^i32 z44{CJaVLGbn20}j{{*Lh;=@q@S;S%C_B?%Wx_b{iiT1ufJo#QWcegtq08abU{yq8e z@Wtz+}T>A5oJId^WZ)MU{J=((-~;#x4XR0CCTX1SPSUhZEc+q}vA*EpS1j(-u(} zg-nnwI(!m&A@>}FrAI7>F%eK>Uxdjt%%&XR!3&{KwKO9@ET9n`*bpH8Sda<4m_loa zeESl;$9cBT1_68??k!C_qI*0W`RzP8?3Y3)Qh*E5@vsD2{)eieX`GVpree|Ur z1PDBRc@aU>QjqcHeY&tda|+6pP{aa;;b6{!w*)RPTDj~!xOcGs)gA!us8#F~=c1Ft zJ=@X4>ZDm`zh_Y-M=zhedwhKOu0ZZcfNWe z3#@B!O5OfSb$er#J9&NhM3>m_=@K?6BT8345ci3oYsk8k={^ zLfa%FGE>dj?s|7ik;-=BYFJ{ZPWa^H%xH1 ztA>g<9AH1V5Zb(aOM}$elCmHjhGG?6t3JPyTHtK=Py3IzEr7xxob9%o%1BZOf!u2< zV3R{w>cQ5-V=yRZyW^WT&p&XN+1upf--mes*Z;H52XM@vhIzJaJpCT&V;ujt|B&&+=?js*g7HgcvND{U z*ro!R#_K<0L@_ha4V$JSC;Cirlrf-rcibI&)(!$|(=m*C33PL6t!T|3NF3g^Q*oL-0X>*{a!)?e4OEZISh2DNYDivAkYS1)(9^GY@PDGyjBDwHizIuA}?&#%DBycy1?_CeXsVHb0W1MVi6$a*f zaSbg&AnYG=ihU`k2rtBOlbBKW52ap2OujijeD?g=%kSQmdDkzx16hDFKfKApD2|f( z3GU~BxtIuwvTwFz;YKOR4K&49Ts%4=f@*lu@M?Jh_bLgYLVNFWne zq&*2dp!_Z;3KV`0l>8Qhu%qf5@nJHB|4*={6tKhf`0R-7?IEfIu3u>tqC!D=^XloV zK7(C@YauQHitAZ&UTFDs3Zh;;up7cs%W=sNa}F86k(P#%Em!t z5<-zeNhu?-oe(73qp$&EfMHzK$%j@iS}oo8M*-{E2iopxXU{%;0L*-S#5#L+J-m&q z(UF+D#|=PlP-#T3Vx^L4q|NrY=_%{%v7vtKn`$Z%pN6k?jM;Xs-K19?mfb|dpzy!- zx?ym#qSbV_%RUIP#09x)?n?b#?$!z@35RbP(?)HNB(<5_Bvp)p>8lKlax4!z-f8%0 zM_+mP*x!B*&2GdCo60Xlh-Y765IM(bMk5*zXK5PD#+;4sB3UuEF}9geoeh_uwpnRm zU}M5@0I{C^x{ZzS(z@{SYV*AoVbspVJW3KNunbu(mk9<`W=WcKAo^=3ho~16q&B?rt5=|`(y4>7iedX5 z`macFT0qYe5t2w3|nlB-BN&WI$*5B4lAioitq!TP>F2tjN)~7wKP%TvGQ?v ziESDxMQg#9kPJ@RlS1XF@U1?CtixtemKUWlE7%)*F9JO-CTTL=TC`-)aS|>>sYDGa zgq)p~5kmMp%!_A08L)tbl~l8=!}bPN;WNAN+1A2JietgXyR_BP+tY3~2yDPsA!|gm zCEU=Yq}4S}x#`Nt06O)yfKrnqjU!Y_cz~iz9juBKycjBk2)(X+J5%56aT3+&#AXqVw@ow{ijWW zY|EMn2}0Qog{I*l7=Qh;iY~%fB!&D8HFb%;u69;6HL6!V<1DNi9ffpax1H4xD(0no z2JZQ223r+B5^D?5@ZpG&Gj(<)z0px31$A(5qxzpMvuHu23mHSPA7w%h3}GejBe-wO zl~+Hv)O0$N!u`r=t$d}dAF_M+s(NS}C%Jif&g|t0)t)7^Cm&iZ7OGrt*c@jON6 zUHyG*@wt^@8(w;+Nb4vtOBXib0?#L6juvq&U^EBII4W@XcF7{O%E2-;mWso?c%w>U zK~-yHep+#yST4?pEKX@n#Zp1d*)Iy5iPLVnam^%n4~N) zf|;rG61Icy@1kI#;mfYQ3#?IK+MV6ql4Jm7We`wtsfQL+*x z(DRh7mMUWjZvBvqOt(TUFM{bI84AroD+2~Czltm+lNIbeP%%nv6D5;OAVf3Z5RpxPBRO#OaSnM$zLKgX1kz?7G;F{jR^O9sYsx}J!0QECQFUK@xB zx3tT&L`?P8^WUdYf+v-=HNf5OuJvT?A*yfY$f|CW=+Ba<08c5(*JW@Y+W%o-85N#| zLTsI(c@UTu+M&4Sm?sjAu&QclfDy??ObvZWiI3r886(9o9*^H64DGpa^5*dP&AaEX zo*ce;_UfhW-ynTIb|o0;1Y|NVyVk7(cG6IYwg!TL%~%HRsWQ0G^$ycVaQ_@)4G?Jb4WGaz zR3I+ZSGH+Hg}NJ(t?aXr4D7ZLMQG})e6wQuZI&)dt#1Z*?p%Z! zGZ}KhbbN5f)wF_(>2}$7-~k>@7zVA@=A=qZ1(YZX^3JYE4+u?!$rV^A zqdHLPw@H2!>X3URbqwb$nxS-y zcNd&*flyWQ$x8o7P75cPgzLz;H?@PpPNjD3{`~f`-GAGC+a3Ma!Fl7seZSs0FsEc)zODWEBti_B@@US?+t#8&6XPG!X8 zFhO5!n|Nr@#?zs|yIyw(&Zw~vwp5{L)=9hk@zJ-hj*s41ChtFwe!hF!zT34Nuqa>p z_nDYsGj(;0>{n?!mLYSTO4im@(fUBQFc-y9jFg@tVO$Y&P*vojD9d=K>Esv=uXQlh z4+#Pe+vAiniad!UkrYtDE%7`emOw;&bMcxEPH`!H**jmoFgmnY%!ox0nrh1Vsb#0(9O=Wsgb>YdXx-ouZ(kJy~0TxB8vy}XQ)X?p4B zSoE(12|G~w@Hc*E<5@d`-oDWUrzXN}`vXCJslv#{b=9s7hnPg$c(~1{lGxy`jVSQ~RDWNxaWoz0WJ^Dph-CpcSy5cE#R?V4 z))@omiDVM55cy#C&UA4WC1H_fxeXC<*Z2`xdx6UmI&Bc^qXQPAzyV@>UkD~>W9MWl zRqC8R1m*}mzIrxwcmHSC8!JZu;HR|XS3U`sDwpUD@G7_6-M4QMB9IgmeB%rSZPAq6 zj=rYx5Oz%0omov~q_QTASufn$W67&Af$#wlfArP&z!>@VteLW!mg zQbmro8kd93BjA3Ro21pv!NzU&=zqo@t{05O21xf8idxV%0JJBl9mz2Zuhuq@A_SMj zwu40FLQ>t(#BWn>U&}_awl}IH=fu%gb`8bISmkQ{1SQBOc>!8o$ca!+bv{!NbF2N* zYExJG);s%ihmG&W@UsZ_t8FR&>6&wwl{GmK&(dZ64;# z5pjPjZ&3!Y>p7Y@j>V38P|BJm6;8A$bQ_S#)|ynU8S4uvvCF~qS+e~sceM1MMwbbdVPPSZ)={fjv39=?9oeR6Wr zrOMvcHU4euyKQaDt7x9gFGW4yN^F%N4NHVtt=S>F4L=-N=%H49>oGF5t119ZK(fD4 z^JP%Ni#wur);}Fp);cD&PjL3NYpf*Yl>Q zDREm=T@e%1fvH+mCDv}a!$|9IW!CcIDz;*1l-Q0psat7PcJTjW?@gE6NV0Un|M?Uy zN+y632uRAMv!JBdOo^GPE^S3oS>2aX69K?MMhT2SMFdE(DE_?v<`HIIZk}Z9Ebe}M z2@sUBZr{E(Fsn*2!rjBy<7fR&(6wtSk(A|JIFqjY8z@HUj1>~vmvqAtm0 z5CcS}gsGl4nJ?uEdlWl~gS^scaN(7I_ie!~YDNvM?-?W*Mdp4NSbN zsX9+VcXOEfiv0w%0X~j|0|~v-)AkC~4SOksO>YhrT%X@i1ht(*x$}7bhAXG@30i^V zFowQ9rYE~Ij8rK->cKalK_SH(D7{6L2Ptu!+iz7i<)oae`>HcQ)ui)LF6+ix2cBYE z*94%jVb_o```G$-2YUMhqvr?8l8(lKBCX90LM7u<-x;Mv-$;vcshq#EiS9r}@|Exj zwXdcouqfZ^GVQ%--;C4^l9`w}hTkyXDJb?c%D~R(e)L@2aMYnY^6(4ueE2#C1 zBUe^MMxb^K_!(*e!B0qYq-*kE_5vF=L%**?5%wbp_?(B2y>G&NfpPCQ3Zua9a?}X- z#*f8VRG81!z;BRsi4@yS$-(R7lDMqqo?J4x?eSIe!$RHek1OaM>DlGO$bZK7TsOsp z-Q!ALsTAVT>g^tRmD@N9j-c@FtYxj4RK74Nta!7Y2nrfShd@Lp>c^#`)Fr{%R)-&i zqlpGw!}CHuw>J>WlmM%Rwq$_Y*io5!mQR|#@bCk@TDc(R!FpbuHD%ItIT)zlz+2_q z=wC5RzXDH8nl|C6GQLogY>vh_!!sY3-7Vs_WsB&EX3hrrQJ-XIocu>+(`?abtCY4$ z>VS)!b{HG~EkGST(g~IBLb%$}I)xtG9r^^$}5&W~9yKo7qC{*>TIS z2rVw_nAlm|5f>)aVuqLrBfEy4%JwGYeLi>f-SM%Vos|_j;MlqIj=n70O`ak0+UX^B zD=tzmdJH;;Vc;^-UzCfu$p33!FNsmcp)P$Ig+t~FTp%#`}wH;=oU ziP;zIl5*N1@`~7ljOcb&JLdB3^g^y?bG-&=v6i@4onCV7!Z75-X{pyaF5Hc5I=$&2 z(hi6nu(zJ%Q{4esr*oFq`8c2F%>|{3?-+!U9n(gv!KT#Ci0(F?m&XHWaciE>^yFeP z*MKoSSl#tCrmyEwue#39^bmt_*zKXsQNt&Ky@2Alzj-spVa`rsCjKlXwW5y>9Tr$9 z%kTFT-w>AJp90$ip+!Ca$e720FO6_Gfp*>5=l12fIVV&^d$Q?!BH-JqJa`?IeSE>^IchG|Z~FUuP()eMIia9jMq@38MCd=WT6L3{34n;esg(s|Hll z5;C6PGO^Gj+cU1RD3Nkg&(Nj99BTxXoy9rVyellZZuK!>*XpBLf)* z)@a#YgP%fJ1O;kWLh&Avhw%s(;}j#G(Ho|yN!lm<3|7Q_D_gXSND(vSF$(i3z{j!~ z+6-v2q|=D=_Hf!t8|t3cSGvNW%i9)JfHn5^^p3>A0L0t7cdzl1ju>mwVMdRKp=uL* zu(^pCh~M}nW94{vlO1!hxL^z;=aIoc{k;GBuW$GE)nDE{-~V&?lCYE+y}CI8PjblY zt0&7UZ!QRhi&E0Ff}!zn;vPPDpdgbkx)6N(fJ4iDTRc;`Lq5|0rY3oB09NbR^VIp! zWfB0GP0K3uVOdA>B#ij2t{FG*4NB>l(BR$S=>at`3}9eJ_?CH8`0gqtQ$j1G1lYfZ z=DXK5G8jPWYmUQrmn_H1v(^Z*RAB+sb|4youf5=nl~^QPACiwcAG-dENXK~*Eo&58 zJvGgmEEec$W-;2OF2QZaE8ZstRLbRur38eBA6O zLnXFc$>ICreK8VIq2@PADs+NXGM7nfBiDG&IhVL=6Cd7w2j0P3{kzBSTm1eOvIjwJh&92c3kg#?opzoWalYief=*Y=UQBhNDoFN85=&wm zo3LfG*6y!kab>tbw4wNSf1DT7E(+LW$>)unnC@OQ5j;8uBch1sHy9GqTy(v0_Eg98 zw<9k&jai96BNZwoj&(C+YeoB}kgAre8}-KMe80LYwYbPrI#ut(GFg_O4|%b5s!w4% zz!FRyr8wZ6s%o*U7NrT-$!kkCa=vPjk$L-epMX@zmjn?JYfkWLm4oO&hO##DXNX6K zAylAMFP*vvL#T*x$0{D$i*stxm3srpo^o`cHn;AGuQni=6tTq*xakmshdrZyMzw}Z zHwBE@vYOYJ64IgrcLtpR9oWnYqxDH&Ip40!4ug0gt0nnW$K>=Su8E|m81}u6_sQRv z8n2>5j20I!gl{Ta^{=DO&Y4s@)obX~rGz5z{(Ya_v!4VG4?AWt9#aS-88RxA&NrV< zIe!j^#R~liI+u_F#%7LK`dSJ47+e1WH)-WDEmRVvj=-BG5KKZ!ZQ(0`;jngVb_)iF znov*#9?Vm5D{1idIqZZX{dyz1Flh?2oUum13AURi@|EF2Vo=cC7U?*Bop|?1rA>md z@kN?2Cax3QvOU?1=QK6e>LWyQQr0E0;>5HKts-vR( zG$}>4Zpy7K-!6^g5$DbKsPTEhq@28N11o$3)LIsPC2(;Pwte;G_IgxV+UyT@iWVETQF`z7F`SB8uMW#^CV=|r^Jza5u zkS>g$ZG!#NEM$q1McLe<H*aa$p`o?4&hOWu9G%^Sh!E=|pFcbS7_V z#<4^r-dMA{Dh6uIva_&m~$l{9fI=r@Gj8#wKOZD=Z0+#s8OJa zGiy{8R$;U9q|yK!A2gt&*DEK99Hn}+MpthSvc=*HI*ip!uVEXQ?6nx&N;yYykwru_ z>Dz)VLGUr)r8w*Kq+B47CkSCHdXLewTQ{C=ui9;s*_pNu6NpJ?M4;Jbv9PJAv%79bSf=9Bu)lyFYie^eHIxhOr(;h#o*%# z)bRGmmu!b>G=MMB!J!UWP&5}*1a|%a$?87BTe)DRo0wFvafkwB_?$t@^AsBIu8YA^ zr%O!WOx6^Y0i40`eX()p65e{i3H;2Vo!#!=yE7nIDFLqQ>C4j^WgmGeul*zg$ToyY z&nVKJU^6{LAwcG%#||k&6eA^0C&W(2FTTo7br-fn`eV3J!f(az5VfQuQh7P1^_MK4 zFDw0)Kqj{p{bTKA-ccP9DKMkP(CRI6dF>Im=9Frg2VrypPzZ2vnx9DX<&8h}vD@`-B?36+ok$W>Q>Rf-apf*FshdukWaAu5R55Fg+ zJLpo%LdQOJkAPEMVE+hhL8wv$HVB>+`cu;-6A=T^uqRKl!-wgo8{B0?mHZB&CC!t^ z(EvfWIMMj^8;=m}ft8+U<27;5Tj#vU>l4io;(7|WM~yX)=0M@O#Ag4?$7;Keqx}&_ z>z*aXJ6#f6fAawo%AskAE{g`ik^rkPn*&JUg&J#QHRp0kl zKj3J^(*QtJR1P3SrJD30V_Vug2 zO;qC4tXFp~g9be@bw_pH7qm=fdEOTgTpF|&X7chH0m64R;#-C!&cjE+xL@u5{`^-$ z1^)Hj?mi^NefE5R@96=LpCoe7wI#>9ZxMJsZ27(chrHSV8n|)i(smhd5>U)tZK$(6 z^EWZln|{#c@7lY(`}6DlgS}@#Ut5;Oea2A8)m?5%`E0$u{@C8vr@OD7?!9<%^WHjo zca#1ydjj|v0@pg|?!zD2`}^$On-|ZY?yft%yCCdnxGbj2Vwx3=N1UAFlGAv{0}dy0!Dc9w_2U)ss@qi#+)o5lZE8pTv<&|M(WLX?aUw0DCABiM z3Gw3)-7X>V!bOtVO`5VV6G|q^_6em&x%?a=s>MWl`l*lrhRYvc=pMoelVo-gB^_KL z9TK`7;lC2HRLj*%u2Mbqh{P%g!64lv$m2jf2!E3H(Gc?}99LRTFQge36o&?y{O8@b zdq;0}_jg|&z1clD*xP>v2J6HB9DKOH(|PO{I`|DrzTMkDdi@5d>|4u`*xZRjj=7?z zO_fiY;89jJa^LI1#+FFiTpKVADG%l)YqSyDl;%(LQh@tBV)@!1n@=R-~esC!2$W# z0nOJzN$*T5k-F!7%?}(aEfSe<@N3%}K|@yC0v*jxF%cb1!=$XVpO%ILh}c*or%Hc9 zJYYNAvb2d{)W%>#^c0)*Q9RrPVdgBEc$lGD@c3+-Q4(G;@Us8e@%2SGF60^^mzwx0 z{3$*vh=%E<7){_I9Sw*ugpDsw13UCo3x9d9;kPu6+vaa$>e^9 z)&bN2!F-!!N%sZ`uU|K>HUsUBdeDFLz2C;qWwERwRqI<@?A`#7J`%P}9D1KGZLky% z?h$E1-;=jQG4BmhR?ZNH2+@b!>{wVL;?8+~l1>1(+ybP%0NOT4;yn$Bq8f}!(kJpg z)p`H^&fPFW1pLDFxt~}dGbPss$|R=up+CKtl(1!XO$09cKEp(34Om}$maO*-nYvOu z?s!B%X~?}JZEmJ~Hi@88^AjIVzPFvZ)+X&ng*%`7zGMC|OmG-+155x>|88w%nVKx? zraU!G4Tkx&`~Lm(e!QDtQ7VlhNBp@qJlw>#c=#Z7=CBw0`grftBHAHh1Og7%-8Fg5 z5aAqYN&Xjkd}7o})Mfa=d81x*N8LM@mA=|+gQ<<-fz?_N!Pp51zf(@a89gr;ae-&Ak-EUn4 zxbM-zn-z|s9JmNsjEI2^>$orQ!Waw}J6ptYuWGuisN`_*sI{2=>fO5`+wzlYuclDJ zID+ZFbLob9wK-Z@Wytt;u14B(&GhQpsf9~xXZ5AE>RSoo^C%!b&n}AWG;t}d-PP~| zTR$eK+iSB7ZJ%)mVEqq;L%}cYyOY%ZEzV_lFA>As_Ob6%ANy-QpH9I3v-(Q+_-DFN zgHN=9s4&CJjC*`RgsI4dJ@bD7;ef6QI4nKU5_3#J>Y;(W~+2Y8Wa<61Z zLxdYNB7g(c1$)^ee?EqJu&`vA5sR#9BxdK$6J1ObUeE{x3>^xSblR>S<{u8tKV$+^ z7}taTzdZ1M4->2Qmbzlr%np#eiKqIEh6;vlH7%ED^o->doML};ZZ~;Ty(8@La`4I0 zcS4r|P!=$(>0ru-wJE8KWJobj%gX$7(C_yZdv2L$M|BCQs`BFa$R@P3yyiON0Al$0 z&Spnyv5*@RECZMCsg$(QK@m6agz*EY2|?h_ct6kxw<&Ee{?V=CkU&;UJ5`!pAgq$i z2=1dLT5%CJ;KRo%S3l9Wt!S9HNrWc44~rk>A20!2K(n1zZyVX_!(8Otb(0OF09{=l zSZh$-QQLR#LZ!aPB#@Nia{nsk#8ZUC!k$>;^A1N0U3N?^=#YC%C|VAAXb>#}}x zWDG%QgBlGenAaRK1<$OF6O)}8$fRVH!ZoT5yWGi!L6eO8$N8{$>8izMKS_#->vcEi zGARmNhg00}S4z>c(?WKQZ@rkQ{R5;-wVtH8O2SnB3AP(PH=9-Mm{Wl-J_sFIYA#K# zcdSFsOMs18RI9oa6IZ4iPms6rvb1?-OLR^GDS> z2A(RHCAhWZkV>}C<1P5|s`>Ib!xiO}Wk(DW(J8s`fk05`fO_yPH_Qz8548yW$$(9v zv_%;G=ojkMU)c?j%34SO*L7Y+xgd$hq2#EwgRBMbTJ{eq+7U!$XVxJ}sUOo~tZs8m zZ-qfEEd!Yn-fgx(Au;2DaH=-&R8o1vzF*fi7v;rn`?b(dFvzU#boy|tesgWFqO<-o zr{r>+-7Y@!H#@tQBI{4hb)-0zjmHYj#Q9@$Mgc)bXgP0kNIK{5euqRP;m&0?+7{e_ zN~q_Mv37p~uOfoVfKiiR1k5xfFb2v~0KN3hR>kskjHsBk%|Pz#Mt#zd6I?c%m7pc6 z1QEv)i)kVfnM1flT~^J=e#|$FWq@9tS9KHhL`G+*Ee3Q-moj~N07rLRg5yY~mHzt@ zRH;AF<4kzA*6cn5-|YbuG1h~o(q#fK3YtEYS%~&$JvEl`y}64bBOj z2Rlv#)S7s(*$iOAfM4BG*<8IIo%m;dzi-4+r$`1F$Ocp)*AcE%Vw7 zHj63i&N==u3~D`TueIe>d*GtoIWEJhZ6?hy`O5W5C_HGHzAB@4k5cjBS|6G!9Z=;V2!W?9{Q!|B~vZSoYqYE#$!M4V=i27dVA@WYetX5eJR zU-#6AD9Yl4@QOS<{P4jkWl5q6vlrQ-ZZTvfQYp!N;{!i1DwH$UbYKlG+Y!1bvKE-{ zBXSxt(N%*DbQE5YQ?m%J8kmQD-)c2f*4m0Ax0Oes%HJx8a6$SfSxxi1=^PvFOGwv; zFK_v(#YvUbCtYKPT`@nSz5RW#?IK*q)#d<#!dqy%aOHOrEvXC$=gvm{ z4_y(aTi|kmy39(S$5d50|Lo-j-4evaoWAxUU#^G6Z#AR+q#^F1ORR8j!YLTqEuSi3Mmbcg zW-6{}6iBP;?R3`Oc7b&aSD|CB8Vhu5(zw!qJIUrEsu0+#vg!2cNmd<{iBryX?{5oA zbQOwCczGw}BOErqJA0(-Lm?71xmYnTzeaMB{ttoBj$k zwxRO@gumxS+7wuy=jfi5PKgK6+bgNvFxo=?ybL;R3Uw&Qq<4kNJ)qq;QM*Q0$Hb}8IR-TzIJcLOTNbU%`AAEJTBJOsa2DA-4^V& zuAk}D^=I`)TgMl$`i-s|>`oF)f6e*3(SEqmzFdPz4u60&QWD}k+>|z2hRu5C;K>I{ zAvAVgNH}%*v#WHAZ<)JymHT@q`1}3}^JTuZ^));G`sI(enDq_P5ZJh6(|7CCT?9b!fa(DORn;#y$`SsEM4}aM` zJARez{;>PY?$ei#c7I;}<>#MoC;P?;jw+29F4m7oEp!QHD74MiIV3;7U}$kn#Q+eG zu_i@&4XqcmHoAeNv_iR$Xhlxy(2-}oONy(=tw$O^zc6kZlN6MxxJ8cV z+zw+NJ?$j5gu%d@t{vNZbUDQw#LlVF!CJ#{0mneQ9AA*shx%&rRQ#D@2|)+w=wF_${98KJNhR-D`48xJ3gDUWMVJSj5a7sc^W>6xtZSN<)nj z%!Tc+u}>ucHgMm0q1i?+Om9Td<9RvG<}MJM{$>C&rWoy*88 z4gK38)xs;gVtiBtG{3mBxW`|XSt(Kofl2i#oE7$w1AIF$cI|;{8s2EBu9@j-i)w-R zIZPZfCQ5;)5lw^zksDh$)w( z9vuNVk>1v=B4{Ig8z>y=q?}`Lak;oK)~^xxy_5xbv5j~SwzXH6=;#Zp}~Z%oX9WRM*sRa|XSf}0NrL&jU*HFW6y z87R-NFE-LIg|-ncBjIMHBgo_4s{8D$14@;khxc(#R;G`=As})~UrEoC%-s-pv~-?g z^di9L@&@c~+}mKwb5WiH2{UJvARAc!Wqf-)M~FVcTPA0!^Hy_Y&5g1*?jw6Tggt=nua)J?7G9n5|KVMr8RYG%mh2UBzj^LcL zjP}A7LE)~=WRu`Aji#erd@;Y^+QY7;q~tH0=vLb*%;?+fRMT_@9qp<1kGBQXsCE^& zj1wR?NAe-(dCr4N7brQFuce}-b>?2$og6;-{5ifwQ>$aj!|a)XCuc3Fu-IIQ`69i2F{-r2pY7lk(aJ_&qT*QuW^TfB;@8O6^~rh zx@ru)O>d$2N=>u+Oyt`+6H@|1=U224?_e)j{{aQ-TaDg|czyG;+8t8~BOWZxzE-Os zs@;$v4FvcNL^>5^cqWh@75=f{qK&&NU>9WbdDu2mDJxiXArhgu*tDW`rDwX*Btf7( z7srROg}l9!S935Qk=mt=tXZQuFwa8aX!buWBQh?KH>eoaN=ZPhKnw`3S97N|&mG*(D7ex3SY@iXO>o&Sg!eYz;70dvcgbnu%PJsl zK`&PxV1REe7fB_kY?42_uV-<%jmvx?N~Hxl$K?g8SWz=(;tU~5Os!~Us^{A8X?!-# z)SHZe_HUDN(0nS+5-6&>?KCT^y$mr)>{P9&M%VN8by6EJL$zQb>w5AuHler3RQwA`0d!!%SM}o zk~KT6f2qn-n~sL^0qJvARVA8}#lyrgyfJ!F`do*Vz20G z3wcl=y+$|>Q`+R1Qq_3ln3>?Y46~#dNgM?vn)Our;M)(s`_sRW+(YKX+7O>?0SMq>9GANMwM1<$IGE~e< zW@wXG#Nt#@3Q-bwv@^C?H#Kw3Wi=<)vRKRU_)teumqt+{vm-(fOI6M}Dx5M&rbg`b z{j2o9*9P>OAJOB36Kyj0{tPQS`HMz2HW=4yJD{E8hxg1;!92% z_kQFEAn`i3-sXGE8%ojsi>e%FW8mQw-l&B-Tk0*={Hr%}4IaAX0t9@ZfA!L{5VVng zELaZ;eLk3+lx3|WDt?usJyHn4Tk#b3_i4Y<6cj zwulWxj&U;*nU{O87lY(2^2x^*!!zt;j88$Ha0FlXa!0S^vA{8=jVlUnyUmbWyZQAb zHAYk6c&MEGri0wx*j^&WMtYMa?oy=bDtC%8bVeg_YAlMTru?xk+BUvfR4)=Xlj zn<9Z&fEEDigV385I!q>Ht7)MGx=(~_C2CzlSI)^?XH`PAV(Ev$wlX*b%GW4h{jR4s zh^EeTp(kb+Z&~@kDu&!c(Kq+dYJ&Vn(sC{E@g(SR$S|6tBwg&;g+`yh3AGimhkodq zFH(f@G4nT%Y1HHibNIulTw%7j0QRyr8|w{C!$Z6WbY#12&Dq8^H=z_M@PshJ9~V{MFp@!c~r@um}${O78ufd28#yXLmH#;_;R0SO{V5$HZ@-S ztmz_Wqc`k4D;#QisssJ*NLGk(Da@=JcE*qcTQ@}yd~n_o?pe%np9$r%gU|sqU~(U- z^V58uRh&57tyW*{qM$gzV~3ntHyp@die?AzhXnkjiNX|(|U?AmatlO ztJ)gUR}?r~J3Mh(gD4(1)CFJ| zIXm{3zzpK$re??v8b9kG^ufQ}4a>e2h7?Ujc`+YtET^Ar*6`YpJ$a(LUFek!(m=+N zgcSK4uVP4^d$s8?UtZV;AC?-O^?-}LCM{(P1C|%&mhhM`u4i~G$B&6G5p=tFK&6Ma z!8V?Z8-MJl@U?Dq9`vZm*_$~l#n{;G9GhabxLiQwPZEU$t`Zd!DEr~jp_79GAi6|@ zT!lU?sOS;?=@NXqj$vM-AO{cSm6}YQw$QUs&PmKeXHkGF>Kz~uRHl-;H5SGnG2{I) zJfQ5kAN9p%8Zwj=h)4u5ht1gef+$5 z2F7d7K=yyY4A`Bz%YKk1B|IV%AV5BO_tW#jgJiefdsv#amuL``9#z)IGNh4-h`uc; zL%Fwp26nh>yn@yjDcbd45xFN2G_CuU5Tm4Hen>-ZCB6C9D-|XIa;kP(AG?}wQG?Wt zdjj^(6U@EqR!%GvE~;F|zIw;bnHjSm=cr4obTMVsvsiR$vo29-Zk!odEoJ>q12vb-4@Pr_i5tBrnw61>sXtgKF91C4V;QLc4XO-^75V5GD( z6z0jkJml2_?m7fj31YC(bn>ZxDP8^+ReqXPIYQ}FF1|mn7%mw02&b$@_~@MM6PN%3 zxpP>i9CjxSYQQ@MO$H^XA{U^Hx<^!Ns_Tg^rWr;Lk};XHgrdCPlvT~UQdhcDtGYpW zQ}}EThr*#NoV8eEkI61$EwrrbOR<5K+L9B(f`n-(E)F5@wp|yAE@|6ZE>SMj{TFnj zU7Tb!pe%Z8I?ieelXE%iK(h?M#g)@A!lUJ4;TyOl{5CV~R1Iv4SUQo+EC(i>%iTAn zo;;BdVe5f&Ixxeh$}?i8T(vlQLGWg-CXgx#jchGkj#a;=TDNi>I66r6YqFGP|^a zFUEC;#Z^RP-*8C`L_U{VH7PAB0z>C)AXY|Q=8%w6ofTLz2kqXXtm_=}OO{j;ao}o$ zk=|Folt5*((*1VHj&283IDW$W z#i~GN(yT5O`Jt}EE!w52d=dZ*q08G!Cds zE%`bRs_5xIDFh7d>_m)=;?|dtfQ5vi(qE`aHZ2(63&@N}*(>jIge3t$Nc2j$ID(?i|K}o*{i$5uNmI&A-J{iB=ud#g(@fr zNRo})prrfv^8hnufxeQHa!SnYecE;PBAbMGF`_{`FgD=jA3y^$&nCM2=Eb|WNBes{ z)lnVa*PByvVqyggbQgR>|NTu_`>oq}g3h*VP-Zlx{&%S|B+uFLIy>~5vuKG}d^2j& zq*IlxfiQvUF#Jy38kN1T9&QHLG^^Wimn5!V*sq_O3cQV~9MxGE_E@7b*>|HP)OqxM z_?>%*tqRqg{O~Q4v{BYcyC%0a3N8=wW$+c>fk+mlASay1b+Nj=uO{=zdi(&NI(q@W zwO)yJ3&Gsa&K=Es0XC{pK<`F9mE)ymf+|fW`wR$Y0$WSaLn2gL9;L%PQpV53qlio` z4V~tzjOrTN9MEl_Y}#gtbb7msaySspa=8f%eQ4W{{?<=zEIMiE2}u9(s2}yk%H6vH zv3xKf$7t*{_9{eEqK6_;Ds6r53npPQxZR$CwcrdG2{D~`a=K@MvSO$XZ3^bNFn&g? z5p~46yzp9t5rN>}^)X+#c{Kyb*|35c5-F(S!aE2}y!{ zv%hp%MY?x5f_E8|u`IUeMyIv@!*)a1JKDWb5&sjN?T)%15-Wf2T&4Vgs0Bg2JO;3p zc&+3H$Kbh(It!PxvgWHCi3Q?`ot9^?G{Co7eks@moB$KTG@rV8R7QbBl(dIU9LH>d$H75+8iyxp`s(f5xls z?ZxT1oUg5D*-;(xURP(iK6l>K+%OZL$JXFO5eMa&uBzNO)Nl(^y=YEkB*OVgJ~*IGR!v(dk5WcF)cGD6huj4ybGx6bfr zKj-cuI5OIt@Io+S)v}fjW3n*L^q|5-uSIOuzwwr}wjPUJ$=4I6r-y!z@veI?3d;eGcZp~O`th15NV9UFxu?qde-#STkD`{SmANN7hIw1 zBOOaiZ-8Shq`#m7qds*MFHS-`v1CbHv$a~9RR}DM&O2Fcnclpz(||9o{G%OnF_R+fkSCGo7B?>b}D=9-)Ks zO;w)ewf?0bCIB+q^bi`tI6NDss9F}_?Dw=R8pz_et!4$V9<#!2Sff|XBrIIX@%AEU z2h}HNT7*DJz%5?ZnElJ~;b`~lrHxKKn-9ZKyBf1bK`3c z4}}R4aq{f3KhqUNy+r0?KMKi)46J&K@lk%r3$br7PF{y@*TfB~O2g3#_&XE4hbz!U zfR+TG&-yL!4cgu&7yOh;mcG!9L!7@0LY!ai{{H;e-Gk?^UmflK{CfXjZ&i#lZl2_u zrc8x2ufzecfD$wuqe&=d)V&p>qPbbCZN{6kQIk~lMl<%Pea3!$x4ZxBXn*h7^ZmW2 z2iHv8FgZyyc|*zz{$+ERK<0!LOY!MRAdx5;LY}Asn5)&YIl1Ujo*zC|AR?28EXMy- zX@%v=^R&I4`d&*HIb6qW{EoZWTBba1+*&%L%@a?oa$&w<0y$wY@GR!%RkpwcjHr3% zLvIi{3}{J?@)0_5U@=Obgn1h<>JR=ws)m3r;KO|)E!zRbW>FD~^nuWJEtNEDU?VnZ z`sH1)z6xfN6##GlGb%jv^ffRmK(AbD;PwDd2zCu>sqJuPx?*I3d6EXiMxme7 zx4xo6wrT&}2iI5Z)R(*9d7piv9<_i|>blO3!3=>O=Ns_N4SUTI2rIJFh8eJ&z@1C_ z0v@0p)!6{8zIb#WAAw@)YWTh|rJIty*f+1<7wCfvoCY{-(S<{J!(?G#|8b-Lf>+c( z@c%RnkMAYU{YNHRgYFA4q%O*3WpB*>DApkH!Sr^gjHbJLS9M@XFbq+ybmG*mSWp9r z^?TY#Do)|QHuaYNw9u1gO9Rawsw1-iHK>`0Q%>yUWP`}R!p!u!l~w7ekul|M(UMnJ zIsU*M1H5-c9srXAJ(SlvDR?;5n&O(j<4s+H?5%f?$^~A>9{k5G!`e%*#`OOIb1hl+ z_IXQTvbrse0Nh<&Rj`w}Pr9l$g)UEqXskhXoz|IW*}9{fSWVNKr=Z1jq*&qpeLS~; zF4zUsq{th83IY7km!JeDA}EJa$}Kc)E={m+;^IY&oC5A=l%kgr`j@oq6kM7i;SlAT|A16{4swI6x+=j+dwCwrVxcVxypQ+N61Eom)v# zG!i^3zk!MMM8WHYKf!@`)(mH_cYeM>IIj8v#YxhO*FN=;+e2bNJC=1A$YCXufC3fL zIpJ$l@RQ2ahW%o<-rN`^vZsu|TYAHEVZ$aC>&G7PYTZ!vFlYiGO|x^mh)(cyb%=-i zV)(iwmOsX6$?pn(X!$cYzE}2^f91DceXVsJH@_Oz)K%NKbIHM5c2=)h@1kr{YwFfE zWBEcTB=-dnAG2Sw^P5+3T3GWlkc=WF-8mpKmJ39jB*cfT3RBh@wi1&=wKWWT)_H6I zYC>9S3Ns9u+m2Lb4kKbMamexlj-m7BqMau*xW5SRa9)*=LgaK&R!z4vaFczu)SXSq zx}sFm)~0EoAGYvM+C7}l zetGdGJJvMX4f(~D&1{g6*w)OBxG6EOH_Xh+1|3PkgfL~JX89*QZ9Nbczyv31+uJ-X zyp~S~X#m{7jdrYTsDE^X^7ab^yjh_W!Ci}fjmXz5w7`x@*0~jY1{%=QXUHe-!YA8~ z$aVE1wn6^Berp@8>B`k6Khce;>y`avcXOk^y7FIX3$NaRYj5OaA6B)!nWoa$q+TJn zThy_mZU#+jh6`d8^MH`@HKW)x6;!wUf}s7YGnLnP+vqQy~Ac_^7gZrL$?A zw-ZG?GevKbv^3OLsxM%{yB(BK@sbZe_fKTe!Yk7vXPHP#cXhJ<3mx7~4gps^o6A^7 zPv=F@2^*Y*3xF;*EQW%#L`Rq5&F{NtnL^cPG_~v8YI5Ha)eD>Pb!P4AG6rX$Vrj-n zCD_Q(Qv*$Bl-rZUnrBV4#H%?2(-C>)=k?y(mxzkjy}qA2wh04i)>?FEi?%ZFXzujj z_z9j5rMks@d7Kw*_<7;az)O`=X-&N5`y8U@+bnIAsO{8hmIRV+S~Pg{PX|mj8zUf) ztEyuo?F_IaN6kRWTi4Xk zHiZ^AuRjnl67|MYaCxgF8@eWZ-2mLNSX9&QXh|){g!T*6OUk$R_)T~koVG1~tJ@KG zZmd3N<0{O+=)&_Eopmodwf<$N*09ig@deoD6Gebfd}vzL1U&NosLd9k{NZd*g$9xB(dBNNin#Jjan&9#x(AX_d2{z@( zxyUkFoC7lEEjLoLd3GE{jlfsC*j5maKyfbC0n>&-ZAvr>Z$AC9BG6{jVN#uB^_xnc z<>eAMB7ql-*%A27L8&M>@p0H8hL&2UA`_@s19g{0rDrs%ep7zA4@UQv?CvwP<>#*V z_C3I};~UrqYb!PXY2Ce1cl^J+J=BzbWq3u(Eh8vq&P4` z|IfBM>=K4l!)JpYhkGM-B$Fu4HYbbi4bKp0C9C<-)XhWN8;m#kCw-O_Es1pr_`!47 z!F#hA$Q`MObcLbZQ7e5TP9)i{RTTxT_1AaZ>OPT7Ec$v4;oM>azN`@tjI^?4rycuc zsH}qyGV9o-P9%O`s@Z&5p8%mM>!#y*@OsF)APmFr9w%*KTQ-ZnM^5&Ae$}bf=uSN^ zn|g#!TI8*X73fAc{K~z7RJw}bbU*jmNu_7Q@EVeY9twzHezTtPiC7((Rf}!{5%^DZ zM2zNi0UqRod$*5{-n`r2J36{IU>^skI;5Ucj;@ZY+v)MGdb-G(r)4qAkB90~y?p&_ zZ>YXC>6kd{X~P`m3AWMx1iTrLc} z0VXmin;3*pA?nK0c|Q5bo%gSp@HZi9$poQ|SA^8JyqpQ#oZdHZXAcIb`mRXhyjYIs z`GhWC(Ak{~n);K<3l6sa1|fOt(na0p#XK*pBkd-}SHbuJlR-`UO%0%qy0*Yb)-r@~ zUzn~WBdY1cKzKM2m|``beC!KECwE(_?cmyd9K@g-nal-|PdQx*=f6V*fq_f|6Q`A7 zG-l%htfQ*8|=w;dR}!CVL$~9wlGf9j_eV#LZTI~B$f91 z%DnGLNKUPxc!O)X%zUIMyN~$hm(#Tj~M-4V+?aik>vhq8<(g$9Z$I z9E0b?;B2Y?Ru4!j802-m)b-%uw-3KxN3IWKP2@y-DUtIAhHS9OKGTazPk=Fd2eDn< zNW3KZlR=h3c{ISzj4ETPgYp?USH&VKE4#7j&!7Eo^+Vi$zdr~p>-raIM|Hzbd-H8hBj=aq~qxOZH)3&*IrnO_Q-V9pZ}7 zGil{rROMMd)xrJ@8WwfK+#jZX1a%hlHc=&cM0>#~;;bdPKBv*cPV&zYs?`me8`^C# z!aV@MW7U06L?M|73+>_Ypk1i#3$bjV#}!8V)$^O$G~L&g5Dhvj_w+`b?W=5juLh0#pOLroBY4nR0S6a zxNzEr!3*tNgJPlPkER-R#ZhuJvN4(IGneu(s@s%d2$!(u#D)geV#G^KP>4&$U6&Sr zUU!?xt1eTmq95Mk0s&R)3|t&}cEBA`gtYb5UvrB^gf}5>u2hp4-iDxVwzoL#_}ri< zyM$j%tN2=ol_k((_K|XE8M`7d+j9GmPG@3LL~|4#N@`=B(3yd{grW+tHzuH`tUlJ# zLz4k;xH(wiR7;FCnHR@{sX_4dh9A4D!bU}yi@SFT?gE&DrbN4{8KnGoFyJAL(K3lgB*TihH7E6VZl?1D2 zF$fbJw#sXD?w+A|CFewB zuF#bF*5pQEKvcLr&y7p3JN%p?m(O-jo$IhkqX?c7sdseOdi>U<_#Q-3C!Mi8=Rdgq z)V8=lQ=DU($MY}YR6XEBWC(!Q&fUAJg#$bkeM@C0^O{X#C;E9u-pzPGhE7&H6 zen**Ix(130v)_T^HEw?scny-=vf{K0=^gY2YQ08@BbbstHn?K+VJl`ciYBAE*hzeK zn_OO#G>*%&>r=AG&;qBVT6Uo~tpqsk6UR`s))-zt(4lY?_b03@elN zeMFE$wK#Mlp@_hlHE6PPoqdcNKnzi6-)-rBUfZv?-Avw2aIBi#4W2W+`~}xgY7!>m z9G-N84G#g!$3^$@swd{TXEY9Rf5RD#nJ6^AG4md{CxsOH4|5TVSHifArCz$l0pE}G zMxf9Uh$`e*F`N7rl0k$1u}A)-Fkgu;kn&aS=&)eb7R8B_4Ez>Gu{W`m z98-902MT^P{Uf?icAVv`iDU(_S|a)vDm#B_Ak|-0q3RX;%_$VYFgMjb)iqiw{H29+G#HuZ7o+{8Lhz#u05(8AR&ZZe$6D+W7 zwrFL$@Ogo`Ofka>9x@HTck$>i@K zR|K>zA+E8vS8Lk(J59IR;ar-7Wfk#*L0=@*}ti(KF-c%h@j1lOpjTU6zEu1~Wj zpBU=})H5l}IQY0eDbGRm?!o}NXfgSH>GHwvpn@u{!1d2M53es=^{C<*5cA@}cS&9{`>i>PJ}} zi_-J*xLi?k0Pp*YLRPUC!`min@Gh>0>JV>X@Prbc{IHFfwN}|8_k|qcQx> zc()17XF1n>N^*4Q=I6su{YSY}wbrL5{}y4M72uVGnYd(*dZ=gvR@5#-j*ufQRfOI6 zvu?n*Xs$CKx)kM|2FNDhT<_qQfpS7fB|F;|AA#ew9vC)w$j$2UGN0-J?z8!v2+v7# zI`4O)cop8ahRv=Ugj_VBP%hi7nDe|}7NE2Nfl+`!F0u;%5b3E&^Qk3y4i~W+pJzha zk-t>AK6Z@)q|%ZsQE9tR(kg(D`eLX$cW_WGMf5bs`S+Z2!XFdo*88;TdjXehyX`O& zPa8{~O1moUDt+HpeVSDtO%hpjB?kGJJiLHJTDd7ZuF*HPv>9CMa4pf;VOJ6u;BNO) zHI>${$|+oY@FiT|)@VoQov0!8G9ygC$ z_9&Qvjw?vE#$SH({MDb2zJHMDz_qIVeCBQ_4&AXnJ<-}m$}Vq-TqI-C=#{EuD(nLN zh8>wwy{-P1)pnT&Krh-gUcjT^R#4kY*615!fOMk?D+Uv#_}}MvArCfsEoo?(aQ2de}BXB@Y1?{+G7GY1_7i zi}t$dMbfMqWZdBw&tLArd05e7wRI~MBxkF{_1sHZ!U-6p()EeCSdj$@BtR^H zt<<0)3K4*b^=$Ilg}q=+3e31*tpPRz8LP6wdzd8x^Xz$;JuRw*JoCzGv16bMI;vk} z7c9DQbl*_C9Fjocs>9c_>GU8!)u7?U%E1l-Ati3#Us=AFN5pO4xg_yL3GwAhq>-&h ze(ecgy`R2&ko`FMu9qArdbnXUDPl#$!=&dOS>c+|VMrzn&ug;hzc<1b4UI4i>rPO} zjzDMMfA{_O-rFl7i_*p|3qnHd;&(w`li0gK-zgX@fe}ERzJ7_|hi2eVYhZp&-T=qk z!M>^K5~XgpXf13^y&Q8zk$EUxbY31G5QC57ZfOuaPKHL_>n8YX_MC6b z=+FYDrYX@#*graQla!jCpq;ChBL^F+X);t|0aPorjj(&xhZ?_3vn}zEF<@)uKnOW&$p^_Q7~MJQVG^@tmBRP^ zq61~Wam}7ZcUJT1xN-PupWnB-UbLuu<&U%{NWR+{v{edkuTw_(Z92AN{?#{0mf%{y zmQ@_8j=MwDFVw_}YDOzV1zY&XwcI_XM&(41o&M7OzyHtw73OVPEAPbWM*r{sxw=vE zw5$P7R8u|$i*rYj&t)|YvQg3I07AC?hY;t-aq9>@x;}aSFQ;kDrWDgZnpmyPdR)Wb zxFgd6O*E)7RWhhg{{Cs)iUBfG2xep@3Yfe-h%kq35I!khG2UCbdDDmMzviSuZ0l@O$YZ`E@R@I5M5N;DC{?~;FMTozFiA+`IeMN>)WM&scyUUnjXpxc* z=w@wA4};}QO)dmO@m{F8J2qmKkX_^6V2=p)4abcMAxV4Vce3Atf+N&b9I6! zV@P2IPe{oU^KOO()x?~Wp3iis)dUpw#`L@@%La@sVjjWULENkKnO{mr?UJ@UIBhG> zG248Ob>nNAEE$MY32|%a@06eqa>Hbc1$sikfA8LvCOvlvY;VUDJRRe3jh3y&O6Ff) zCQ2L3IWVp0lrT21^A6v))^m(5_F_Aew_9Q^N&nV5ng6UA68CHinQilE_9A_1MDBH) zoM;&nv7@82=}|sqXkzLtXpbYMq>`=`t+_?G1v>q0f{StxX`T{*P6NRWSHJMIJ5GVV z+`|7~8&Z(mOgGoh-cUCiq#i#lr}-?$!TniZbU*3~=@^eOo{Rwas!{&Z)&Zqnq&A*HsA}5eOo3e$hbPJ$S*p z+ej;YtUoQpSowh3w(PmXtVM}T-Cs38Xfr*)`1oFet4e( zn$z|ZF#5wT$7DfwE)ys1YSbQ{)&E9M<0FZxw5t1FS}=J-g5?X^hDH-7W=r1Vs3tvyN}^c9DE)d9cma0dq)`-m%s|AG~xM|2c>s`|(eIdd#nke*nIE^!*Rt>alrc+#c}NkKauu4}UPPp8m(~EAUdG zT92mRYHeOQ7Z!Xu8~^Fiw-XGNq4&S;@BRn4f6&|SX5Y=e=bF!U_y3Gff54wNk5{l0QrtxF&*LOZ;KX8;Z)MBEMD4 zdr+FP)hNI~a8o^R!w64*9U za;l(PWbfY(_IIBi9PRJ@y7%vIj`sHe8}dKj54!z(o9_qR!))sxAMS158Hnp^rAkoh z0!64xQF2Eq;kiZW1gBgMbpppk*d(S3DU2<~6KprWtOOdKI45k`jY&Nw> z_xd1;t4b`gY0VqHub1`En(c)wyNq61u!w^I2C!{67<*?UyI=?8n~kJEG1ZfDs!bL| z`m2jt0vq>-fCrRq7qZso+1wFlYt!Ns2(+!qR8@o9R1N5VU7R@?4=+CJLf*~c!-)9A zi_Hiu!p$JLr@KbQ$HQjhSJ$-bO=m%&{UJ4QQd8XR_SU^5^LDc%9bbQ^3#x`;!{zvI zs8S8{{~|d4C7TFh82EDhw=eKP54h_ zGi0gxEw7uhx)5!g&=a@$Z-7aC%WKqadq7`4S1!+e=MACUBI(%RFK%!b2tg0v0D-=2 zc&o9w0gg1@{_3dK@Y`&W4-h?QmQ8d$@YWndMsM?{JKoxmGq8n}T-Msc7ANB?jIbzc>Q$u;Q8xUN3UM*zubNC{D15{6ZyCo8n0jL z?zXL3Ygr0Uc&!+nJE_X~d|$)7Q2l%cd^|n>+2lIUYlBqmvRFuvF1IE9dUx-FQa1QR z2dED(g(NThs2}%f8+0syLEnk5K#M#?IWREpZZW?&DCuvRq7{h)r=xhHI^Z|u9(hZm z3%FUXZ&8#>+_JX5nfExcVve{(X!-=F7K9i=v`N5sL6};s+u8y8P?+a5n-XizFf^~L zec{R>ryMsBmU-+wqx-N?xZ@mHE~* z6KfZmTIg{DzQM%FVt`~q<&krV@P8_~NUPQltNYu-s~fI{X-Ia#uh2SEH`os0S84s9 z63z|dxD;ivh3SM+djf}bwK0l%6U?M=MTrHslv^NT<5{jwSJofprJWd|UI@N+lGW)& z;}71twaz+4n}IR`SJ}A(zTun5JP2esvq!Mvka?=Z4nODs%O{)T66VkS>^$)S&#B0M zgD|bcl}2~Hd9YiP)lz#S-^fQ8Fd-0&!7_fKa)_6f7!X01d|;sP<>${T;Roj* z1fwW+eOsCQh|^AT(O2d+V`@r+Kr-{hOm(3%zEnEsw4~D|QehWtruh7apw|RzS`)kUH8Iba51hHewXy!7LlNyXZ4A$`=em2N)kIizlN`pY;!=P?!Pk1 zAG*dslPj^Ij$V@q}B8hG@?ZUx8N`FVCxb20-u!YM5XAFsF#KTAX^(u}Z;haP+7 zW!o@`-(&OlNmiejim6=)?-SLGHAYW=!Kgr+buaOSC|PBkQCWQfe-oyMmP9XordiYA+F z$+^yA02tl$nU0}sJ>MN~0`L&5pc#fUj>rK{-qnWOF-$p7lo^wQ@rAYU=_!~B zHKzPLwZ6s~AUz_cBUff%sEGRca}>qV8&N* zhRhXaHJT~Jw#G-FKYJKLH@q3K3AiEQA0D4~yG<6{Rqsbo`uzw%PvMGTrbTdT7(j87 zp=(>EHg0e9)jrw6kn_uGq>oT?Rg#K=~R@WN%Cwrw6S2a`-nQmSfM zFaYGFL2Fzm(oOJR z*TUgn#r?ca{zwQLUm<9;3mL6QrY1WdN3V z#!-vQ(=jG=Z`6peCi~dRsE6zzJ0C2{9MTEcksyOeG5uxOBB#~ND+RdI$m3?k#d&rS zXG2&oG3&RFe!PwUoRp{FIJNb|cYpfs$A{nl@GoA2u_D<2=L) zg`tW|!CiNGC0+4Xi@R$Ip1#m|mDcr{vuX8ae(FPGr6#=;y!}_Z zzd!$#Y-dk*Up?J>@nY|px;IGikBB)DJ#EVC2pH#5R!v+@|E7b7GxPyn7ehr+~xFVth(fu5+7Ni z3x;2!Mp8D5%867GJCtx~Rgv4B_NcHO)lE%Kv~!|DEy`7e2Y)aCMghb+_7ZN*Q)Yff zCmnYt5%-$Zp~N3#;~tZJG;EWaqbXrmq?&cW(M0}8cJuk}_EoV=_~q3qj_fNHQ>pJ_ zQXFEpuF+2=7P6K1d(PTJdq$849KJ8^T>jhJ*RPyYO1wRK6hWmPZC<@EQh9JU?pz9J z8pHkacTSg>yMb~pkg5q1grJL;&|r=$oqY^cm?;%^fMqWXe|ie)rgZ9Q zOGwTUeq_YA=!k$w%wz?w$ zWUcXcF{Kt%=u{BEt@!0We^#x_L~>x>pyEAqCmT|L%pt<`0$t?vRE@%=8UgT!5Cr)o zm6EOTKI^{f3iX4&ZU>$B-Gdm`%im?U=+HpsEEkDjtyZz3i16B))%T7A1C06hhd;D4 z?$6%6dGY+|?t$Ul5qQ%Lm%g4-=bFsV&8~d9$f)GnjoP7jJ%~@&^l&*+e1Xaq3pUbgSGgk;Nj6?c7>qIXF6fR1dht zxvt+}raRZ9`J0xIDYHQ*tR*O?LA{ip>UOCwxP?}KDi-%B*AEg=%4XMEz3YFee>8!F z$kDaO&sR#RJ8P$%Z6B%m{(bduWzC^_xT&6~Zy&5m!a#D`Gu;sKS7yR>5iJZTv)EQ8 z=Kaeg-9m(4lFp7x*mrp8Y}~no{|e#E3T#n6I27E*Wo33P2{M^_+hmiE>h+nfX7lpA z|GuyZrPvBbG=}uwAenhag=9Z>)B(hWP>}H)(oW$i0S!JZLtgs9&q+`bhf4#8_?t(HJ6eoTLYlDJ$Fx*avxo3Xq zd>C!aeX_7+bIFxIS*BIo6^$$)D6>Kz2x5v6R+Tty%qE9c17xZ^A+{+oOZ(u?`ENHHoUw3we<5acl1g_x{} zc@dQsW6FdGW4p3KYtn)xP14V~Cik;*yg52>stPo`V8`82h^0F#B$yhW(ZJ^`dd%XQ zeWXNo>2#-=TiLZZ>T#2X@ksi^Mbc6L#bA&f@2TJPe4#5e^BY!bs_KvV0?tcB3{Ve5 zgi^dZ0Z7=w;MR)dtHA^4I6oS!Wq#Q$ru+JDMw1iTVMIm}5Z11<;7D`^oFuBb6B0;f zLWdD&-(m$>7C`7Q-S?-aJ1gQYB2uN|bb@-iyI9nuA_71C0%~oBDkA`S<@A>jZ}^k? zw*PI|e+Is^Ng5Y@zb}C)A&?y6^3eBy!=4rXs6j4!{p>YZA!ZpuLBKgVKPeHI1L1yo zpNuas(5Rv)BeF0@X*T?s6yj36*q{TTrbBJjA%vDeG&n(3^wbg(1jz@wpfslZ0HOvo z0ZBbQ$%QV!)M*hDXvM7d*O67Z^U<+$-kt57WqoYB8P6ErJzQYKBO+rkm6<9RvG=Jp)=hb`KNhk<9M z*buau<;)9LMU784DUE*B5+{1M?%azROirM@1#dc;;4bM-zF0@fLYAJ>wzC}(rcTsg z`b?{~lNz*`27kumiY0GwUcYuh)ylMTU$)5W9I`#2_2K#YXYLTIUXvZT@mX_A8eCSX zC542;B?^H?bu7n@dO(CL@UzvLpTHy&)mEvOOw!UstyM|^F+8t-7ST*Lv{Fi0xe-Mx ztGA%#xgFG~j|C87u zG?IafHAWIS@!ovWUjwpP>8e^`uj;8a9UVinmaaluPb{Qww)hJsbSF^?IxhfR3>CAB z7qh%Ng%BDre@jReS&78p^C}}$G*%{%CAJbN;uE!T`e@(y&my)gkk4tyiNt~+4|D9#vYMl=`TuM0+rQg3l62?ioRj~dlgx=I4@KFV$KFd@ z(r6q{;yZpFS)Saz9Z{h^oq5(ZO1d9aD=+ z3G#)Z%VDgQrn_+gNGLU7;>D|zC+y3zA_OMrNrCs-SI8lx1NGibIp9P8yxkB!^7kdG zywhB{8ELsWgHJ0W!Ue{BaA9*8rf`v>azQGvwMM}smC<_CR!CDP4~$9e6i3&P>P$m$ zc^OVuByX4#6=V?8fdi}G?dYJF7)Dme*I#q5)h|qD6w8G`yUIH&q@OA)>^FnOBc1jv z*-ji$PTKN;QHe`n3Y`76@ayDmJ3y>%ip3Qm$htgCoC7bnOZa#*;tCn5;>BsDEd|@ zLhCc~Dls8u+ruM|1R-tIFUsipmdCxA#eVB^i)>NHp{8!0Cg--no=goxXPe4 z!|CPJ5kaF_0M4L29^c8TNaxuYTSDh-O5COxvZbb*0^bln)aD)9-xocNFdDOcSs$on zrFrL+Fy=_rov-$Rlo3IlehLPaPtOK{nxUa5YK&Sg;EbzlY zd$49%l;t9FeU2>}S6dF@yD^C(wgK=8TjyhcJpjo{j-9-aBQ^L(!NBQLI5uXG$&bX^ z3qGHEGuhB5kWI${K+uL8Ol01qyL~iFE*t;x?yE#QBrWJ#h)UZW;=}-}Z`-y1<3Bw= zA*iId-1wHzW^IaVW$_W%pxd{C%i7-;KS@e|NxK$r6WFquL{G%d%HE#&Htu$Zm==U5 zGBXAtI!DVHU_=T@R3+q|DoO-)!U9dRCJ6brYIKxoSlR##slhnIUOgqW{5{Tu{cZK8 zaIisoVqlFfr{doC^IFtW&XJ4ZqO9I2eh*5dS(JDsNsC5GxPrIUOE^`0zAPYRakUa7 z+GPXrvQ)eu%b7ld+L2;`^d>YDoc2amw9YfZtqQR$#_1A} zOLR|1@q&zx&}-ZQHV`vfT}SFLwEJl2MVs3~C^`!~ruk-*74Av?)&IWty`YlEPp$Z}&=6^j#EhSe*7?+O-gcc@t)m<5 z?6Ls;bylG5U*WPj{!GD-*_g}5wHB3dGlaJfEC{upb)auyqrak~qrQ!#-quAzn^>1@ zKr5nS=}7ZjCpfVj)P&zAJW6YYF)Uep#t>kCE~{o89BvH~UIZ&^9i%&inAL=~(Sa$7 zXM$I|vHL)O8Cr|cnJh=GB*oE-lGg)L0xr(794=dvY&w+|r*BrP9D5z({6(ikzNyYD zuDuUMw;xnbREN~B0%+JxeM>a^43cDnWX}f4` zpR_e6(mHRkxCvl1A_DbM1*rb4nAJ)-)sQdwJWEAc zV8`hG00G}t{F2Kfsq18TEEU<~|MBdr$_uYhQ;NMX6vvHe$Djk#XbU_S?H=8AVUcyU z1yNdp<4ONc!5|CLVz|8L9Eu;>A^bCp67#(tU}yv%xic^9X7i{%vbt&Eo5HV@8;FVK<2Y@8N+oBi?4eXF#}_*8(}XKoy}2 zJ1!Uc${4M&oVh{8Rav`T&wZOI8@Ogpn1|{c86XT!gan3}(Kw z!p9X@ZyCz+h*MkGj_t^pAbbW;1V_Sh?IX_(&x~)-bVnM~vGt-$*jNRYcSARd_i4@tpldz^juE5 zEY21iN?+XF-QD%?F}+^sgoNHJhiybPbo|b13$Oz-Xc(Z{k!||EInBoJd@O|p5psvs znp1bIqS3$FYkY8MJjmc_#Yay|J%)>xS{#^+f7*p7iJfLJi0MOR5!Qh?@BhKix4 zc(pz>B~=0n^NG%FVYflTM1R1W%zS_}2UdA6j&EkMrh)!9WRM{$<(3a_T2>cnHLDreZ4i-LhIP%Muk|>E_&~Kjpf%A;7lHN6TMyt} zaD^{K4QYErZ-=-so@B+loxU)C>~8STUo&~3AA&!k4;9mFHX!@Yi>h46s>x(M_`U8S z{o+2!9OXn_$WN_$9rg9a4%N65i`JCIaxN=KRqU^Ny^Lg|mIj!!rcT<|^>ohU!wJzd zSxs0RjlcpE-Z;-BuwEjrpgNbx*#UUjVyE#d2JQ_}%c6EY=V%n+TqOm8O2x7;t=N8! zVnW_4ziJityr{}iF6SXk#!l50wfg};eaZo3k(a0U6iDW-yqhW5$Z5sun>)PI|f(j)I8(Z{aQ+oKS%wjwtZSA^@BJZ50&A$&H1Fc zF;_&pt(z_*uL|NGP*z(SaeM*gYod-0cluCb>+ld27eV=m6)(8YXcw~5Z#5fnQQIJgN9L_sZ8 zIZ8)(Sj$PxAPS1Pn^WU&;EvMCC;J z{qR=p+{Ww-%9WD~d0iB_lhW6V$~GY}BzR3RYhqjcB%-LtR^E&fLl}*W58Us6|3PQ0>Je5To z#n42RY|^SRqM~?XNVsL|kqv;)Ui^J~4Spax6*?_l>go81oCZwceCXgdVr^d8T0KSq zxJaeM%nCtP68(~68I0~1&I;IafKSWas3F>0g!b^9`p{ZGdxEo>wkK_{Q+A(NE(di^ zbJFgCc=XFMJ5O^-{$OIB;4A`F0_C!agi0DYUqD{Qdf+DKUe-DnG>-uHIV&gwq|&!A zFM6a$>hLDZyh(Z1(Xnm%)q86v<&5;r(#NoipUL+~B=SK7j#==n+81~GKHhIXkU_}1 zU-tP%`Bcu!YQ?HR-(k?~$5NTA4}X>;$jRb82%oA?B5q}1UP>npyPTWh05#IG_>)J! z;C)7s_kAlFIvXiU}2ncu2D250{u7tPsUF4gGg_Z`_vua{nSfWMv#g6?AhWVcC3#eC<1f zL9kxtf3J6b?RWX@XZs(u|IJkHrOT$I-|N9-(A-=Etlj_L{JXdRzrTC$yWjTzr}$yb z5UEp;^aST!%)mI3a@@eOSmeuDR_vKYf=VAtg^3*Jr1NXHOg)4v^XoUi=?nktKP~(J zb~Zl$tlj_Le&_A~Z@>Nb-}e6}`QiQl=zSxLN$YmU)E?xFgUdf>GUmGza+GJ|$81OIEWd2z zai?YFQ|ETzL;jjJA zeVq{7dfVRElk8p4;6prUYT}aEo1?8xj8gDODFmK4#rQ>_oL^RpvZf3Q;Mh?y6Io5P z2mq55FJGPv#AAk@)kN%HFXY(H#6qz+=txC&g8}yCF@#nu7b?aJnPxD4hv-%C88^c( zlDVMM&&vG^^lcfyk#&f2Vg<@3;B`_Ts6<)VJ`FJ;;b8>Cp7;~|mo650#(v%$LpbZc zn8<0m%o}|1o&6npR^i@L6Ja-Ez;vp;eJ0bNWvfPYzFGo*a(r$LFLr2D?Llt=*D@&0 zkA`e*+#RyTmcNZpHQmhV}6B2_mp1uvp+?6PE|d9L4&BMr%N&wbtE^|*sQbyEZ2 z9YDAqSe}-X^y2lK!@k?}PypWc1sI@%G2u#EhQ1d*fAf>c4wni5;(Jr5jW5Gc*i2u}4O+qM-AW17?7 zgc$<_$pB6Wy{!`MCxIk^m}&73#&=T7v>Kl!;_=jQ1*9T*0976)qDg1iFvlq+XEL26 zeUUY_AaDVtX_O+H6=g**uxWZ;R$91Wk0mU!J9i+)t0)`FBZEn~Ym^0;z}sR(dI@0V z-Y&Kb!l%A-$0WEWnK#8$BjCMrd)ueTvIKG|C)~$7cOb~IQF+eYZr!;fdf0iKmtqCE zN$8y^HWXj`t7O-j1o=LlFLH^0BuVmjTKGt3q?2588O(A$E%S-2=xriCnI7h4nq}v> z?2yZ5Dw6h!zDnAw+Tk+$J6l$|&$XHy=E+x>_>kAsL@far>OP_!F|EVMV*5;DUD~9x zU+t%h#WlK&kLiBHf?x_60yR!bS}(xjVNjZ5i-}Js(16wel8I?yfU0n@LjHm(ueb5)ea4Ur!cHBJa+w zSILg&kEvArJ=XS$7f_NU8_9LA1J^iv3-QzG(#jfMLzO{2r671Dyb8k2IrhfymKVMVv5STM{S6`)?P_iqwis2d)#w>R z%iBjbqF#LX9G&ewmGrAv^)bDp<9mLlNsI~p)B5$3GM&iDF4lAZ^UtpA!T)of&T0;A z2L)|h&POo#m;jniXdtu1*DNaoX2zbWPbtXt5^q7=dE#RxG`0&v)bKd@?J=^Vb^ujZo??s5fP zy0oN3#3E(m!J8~*o}`ng7BA^3DDqCO>h+^&FDWxXdQpi>o_KL7Mr8@Ky!cU`i%YRA zNYGBirMqk{!zppk8X^?OpijPoqJG@A&#!_bMagcZ%eO!3NOX8vOTlkY0)RmqJ2Wk= zGa{~yYU@fA-4hj1w)KTgsyn(FzUk}Osa}ly`2g3exI?hJ<6l&V z%zti*gf`=!SQcoNBgi&npv3TTj033!_$UEmnoHUTpqZlVBI(yH`QARs8d;_JD`?>X z|3M%_u&&|$Rfh>nL?s%b|JDQIQuOpAUkkFGJSafa_XYlUxa+*$qoQ6`_M4$mOd0=3VhoOCtD%>-fzUYId#1_^p&;X)H)*(+h6qjwv;;!btf6%E; zx|6*|cQc2*st#xe@)RR~(hH@ifEnh9drC6^zQ-RyCCpn zdSUwQ=qhF)A%BHu#)Vr$TA})4+djidxUv=vI#N2U_UdWGiHZZYxM?5s-LFZ1xQu-G z`i(o~PfD=Xb1$9ZSKXFrqX_}ik$porF_!cz)V$o!*`R)fNo|YO1(AZ_9R*|!nyP~8 zRL@S*i))V=EKzURv}P3>KPVp?LbAm=qxeE;K%^34MqIN%qN6(y321PMsKC)*)hZQA zwPM8;FYU_)*E}#MrG-cil6F%a{(qF!&z5=qbyh!`FPhcC*JzG8z<;p-nm*_e)Ss5X z4^Qdr_?e;D+35>>Vkma-{~d8f4XbuGb~Qy-rK8p6dFMFdvcPRhmSr5DjqjQ*J)m_E z-7i|rwuOV~o+Z-6NK(3Bm^{PbInK*kLh{aHj6{mc2?1vW8rmmH!4*jaPM+X?NkZ^> zG7!~yK8KqPoPtxgX5PtsD3IxYvfYi`1Hca*-|7R)eQSFqEFowO*`d2POrd>!6rMOi z4kTg7GiKAF8oy1~S;U?W{rVrm69MYX2*4=Mh{I~w5VYCE|iSFXrm_Ci*WXavl0 zvKW^WKG)DSQF9`5?#Zi@C$XbxXiN!yoEv&TaZW3a@$uS)D!A3BvPmP2X~d%~_GuEXR7Nk@ zaW-#dP0Vp%$V=)j}f1ZVY<3;%ANppcv8`P<-Z*b zfwOX6zwuRu^)?i5DIeFka6hbHoBvu`Rf|fsvGy4Z6SzUuFnL?(rZb@Q+n8AS*Bj!P z+>K%mJmKq{sNNXSaT=eK%a$b_`CJXOb5k`FV`VO5+C^<%2a~#Ik5#7h;A4w>b7>SUUL z4Z$m2dA{uex;n~-r?tuiL#GmzO9wtFFnv98=qBDgsE!!-k<(MQf#%ogs+EpTS7^_X z%Aui{Dth3vP&`XnzS1Rj{qwJc~;+UoJ>Fq-85Xg zXv>}e1zUn=)kDP0S>_aA_+k-k6=(rU#@>W`ae(8h&PB&(=uhqauHB}TR&2^Z-Qe{S z03NYPXuE#5E?b~jftwfjB=ojD%j%&xy*X;)miMnUQfH7wRHqkUTwUr(SIEoWym$+tjht}%8TBnFxO0()EX>>00KZ^rRaX*Zy(W($|lPZ{l zKk6D`L~gDnON5DR;QDTI+bP9&yGvz@?@lYk&*xe5AQ-s5*lEfgaVd7-)privf!M@< zc)vyQqutqc2eI`i$gXf8zFd?Gb;ZEM1MtzZKJ)Jw$CHV>MoCvfiOXx5Y_Ia1QKBa4 zxME*qz7niYtGJ*^Ak9BfS>3~{F#Xu7xU*MZYR`)tqD8b}#)(A{VTm>(t>YplfLDAUo}~tH7h#OU?o@S1)AIoxJsuN%AShJ zJBFFIp|_mBXlp^=!GjEZg<4qfiF?SLocePrbrj%whB5fqww?XM#=U)B$miA5vg+ve z>(4*)-|n#g`DcT{Ao%$8o6kRcbEBT$*|_KbPgdo+u17~a(rXVqg~t8ix`H=)&!a8h z^LcU8g%yE`Mc3LXCeJFXd9A!`FR7-ifS9IE2k}506IyOmVn%ALP=QBv3>I+zVxZL# zIk}Wu^Ch9$F)L$QgHz-shHa1?6Z+_%;QUVm3fdWl5L&}gIWY5qn_f>4{h}Pnp*~_ld!kl2hzpZ5`F^4GAPN9MP`h`@uE1{~ zXOG@5B1WoHOm+@72{!8Ci&tJ1SYpUfPFh>kb-%j5$W?8FAWU!tSg*ZW0Uc=vG2x*7 zMXu0y5_s02h(hhd3bIqkC?^zeI52xHDRHU=>cm0=acpcv8idHuL<%{CvI|TRp+kUx z@*14uJZ%GU3^9i?#an~rdxBc5XDFB~v*VAD(y?v?WL-rsw>F9BYItpH0I)8Ad+Hx!q{URa$t5HGUvy9aNBZ~9_K78ASy z0B3pzE)4pssj_jib4`F%*icLgJWby*;+eL$7^k(|)BT97ERIPfyaSs={n1m8A88{` zWOjc(lNdh>7qF~GhZUF#sx(7?SDizIA!YTsW;byBI{Uy!hxPs>1GNu)BxhNHUgOaU zb~G~|Ls;E^CeZcFbk3QZ&hEm&8}>G>uGiUR(PZREmjy-CF05|;-tXo%osz}G>5_W~ zWNC%L*C1n1NlEr0q`KZ8W)p>>?K+y2z;=Dq4t~LiNq=;d@NMrR#{(EP0D=P1e#iJn3yrnh5S4e%3fZu4{0tHKeg?v z#(N;dZV>*lKFy;TSWz@Ec5pESCw}RDL!Wl3br&Do! zrW~k`8$F=vp{4hF2g>Zc2`u=qPLW97_L+B$8pZ;fvqj}koXdE8!-o4d+%ubxD{NyG z8u$zjA9o<%v~N<~SYJHDk?9gv8nVR5Am0v2;csXFs0lS}BL$l?fGv}3BL#z0@}w^k zyo{qUfSjU0N`dOmxGc_P0hxSELVJj0-9jiTG|?vzjH;9=?5wI^Pb~Xu!=39# zgiFR?=Z@^=>E8*kv|Gq;Gt9Ry!`rv^N0j67nUBhH$kzbsX4lCEZlKgM z)8urVZXs;RRQxeSEq5t;$ouWLidVJp-22;Y>|koRbN{xF*QeUJ2a$aRI??@W?kDxq zx4)a(=J6x$rPx$NcM{UP*&z@J^09)vyu2OT0}$RiUBmX&d!y~qLrnL@4h%Nh8gWAD z7m%3vD@0rvJc4iWzc?#%OUcWMalV|WyLY09voIJ5)iORmc|TfK<3(`e@ozOMFYx-f zmP(@4y=YSVqNIDH4{!b=IODyBQNIkGHGbnip{25=O5hITPW2UCp}Mhu6-3v-P<6cK zLj~hTf0z#oX1=+6C7No*PAt%?>zbYSg3W@|CJ(&2I9^gS4BmlykgHJeY|rgh^pEs?&z38^viQuRhi!8ZoVNq_%2cT zW)NiA$hxTqq9SH4EB??Gc-uuA`iXM9aKla@n-cXgR)v=J!zNhw90@`gc?p^2F!Y_b zo;^4o5f}-$(OXSpTC-xxxE_;1m%Uyi1rwzRi+KkN&t`9r%-=SMAaZYu2K2XI=bU#8 z!A7odKn*i%>Q)=DnFBnCRr)b;DH8tG2>&Y>K0w5`?Y2$T4b$jHw-K18T5JT~0Nj?1 zz~ULuY`PywLWi%oURG}q(708&YKOdc85h=xP*XY-rfU|vJ>11Jux)iaLVpXpV4GR+1~$QP%x~M4v0h+(G@C~EVu;!{ZgUmi zZ2kU|tlW>fW`7m6Rqc@`6eSh90b~6Nq-I!b{u;e&9nb6hFEhWP*gM>_@N- z2W4RZhKi6is|o#z_K=ifTvS(;Yfin`vdF=(^|r6~+LJvdKgi zK-i7zVOomRXfBE{eIn0g4qC}zUj8G?^K?*Fvwd0Yy?VJnDaZBx&vLYX{NnLGcX?ki z+S&twpB=e0zuVg%v@`%CatBxKW-A>Gy=zPjQKpa$O${gI2K*&-5jEY;ght~Q@ZuKA-+r)sF>N~^xU)vK(k^kduO{dbG1QyuqJ^}I@DqGC#` z$o5vz6cCNUM$zO!D&WC`F9(CcmxrMnrjpZ-hojSjd<{+4nf0~0Pp4MfqQnMDPCA!S zFW|2@2OBG+W~gsl6>Z;sA59UB&;3WbkX>hSe!NBbPiO47E`Hiclxa7I-ee@lUirQ9r}G*clM$HRL`t8ue&qv@ek8_ z@7ou7Al7ifN{{u9g-aAv%%q&tOy-j?7ADRT{5doDvMX+XAF4u*cE~O(lux%BZ~@M< zVCPJ@uj^5-IWH&6Tsnm`Nxvs(fceuR@UP@A%dC?1@e;9?e4qQ=A@o;W-bj#P{oaZQ z1ESS{Gt)_!hUCYX%w^{+!G1ifk2v8s(JouHNHpcULm{tsTS%aT@8LMQ*2WD{>1*q= z5sA9Cv6j``x5_9+W$zQ8I6FGlR^;vBjt) z^=Im3+jh3{Cj78|}mSN*hwovK;NYKrR645+ci>WCtYxOc~0aJqY}V z=_k_(v(i&G1u~E%R+Iw;6@xfz{5n;h5~rR9&9~lQq!Z$Y@0o54#j~=2Bm&5uW;-Jc zmgBH5?BpeSTy}??dd4CRyveXS>5^NA@EWgst=^wtTuC^$aNht_h`MP+J6X^SKZ_l0 z6tEKPBlwWITWmTnE?=V~S|9|t#^hk!FoRwpeMCXsBMtvLZ-4>DA#`^8-nVbbA0;rt z0rVKRu(}fZ*JYl5cO}(Vz7&{A5|edrH^f@{P5&Ts2?|ZFQb(KX5@+(Z$hGZO#<@%@ z(@yKUGOQ;t$qy%_!8G!v)fF&VjCSj39gVe4;?2QwFk= z15b$ZvKCQ?tgf+c(($`B>nd1NR;%7hKyOuy1=338)yCWDDDyXZd2+`37;!ZY)@GM> zO3vFH2X+U4tfBa^B&z<*q*2bM##A_3Aty6REtLut%J+7Yfq3-GGCNOm7!lKLEu&^- zZ|~l2UJ7YNIXh z8VUG;IBp1Tf*=S~whR@i!Kh9pMG|NTfUYT^S+}05ml$?6UFO!bv`>fCyW5=>o8@ft z#Sk`XOu)R;IFl~-nuG!q#OgC$CA_6Vl-ji^2Viy{*p^%I_1EHy41bkH!x?2co=70G zm#zfUv+6GR{d5+g>c_`hheX`XNN-+=ioY9EL*K^kghsYm1=OjVEdr?HnrmRA49NC^ zSfAZkl@=KJRpxS#m$TkZkg8_KG-N$>wPx+8o4W3IuwFEg`UVRG?>9s)ewG%KTvmF4 zaLN!`7)>_EoFio+#_4i)*64@8%3?-!vP3P|UPok!Qnw_0tj5Ffq7e0}7@t*TQ7-Fz z#k43?QR;lvSI_C7y|VH%BqWMGyDc$FA7vs}RF3iZQ@qYP{8Zmv3hII-V_{%)jmQj* zB4I+0K_rSY9ki~0HO71Xn3sAvd-Gft$f(}ql0)$p|9*l-y7g0RWI1b*Y9HZS)`r!Z z@9Af0EjX#MB<4Pj(T$uUebzYUG6inB1|QZiCODsH1Z9CWm*qQx6ym44J}b~d)3>E{ zU5+`|iXzkHe((T8kaBnLbbc0EqL2*$v41=adIYlhTuz{^d=*ZcvZ5|)IbG(kz-n2Y z%W4n9J!sN-;YduYj9VV(rV-_`Su7Df0xZGKMS^O<(V!HX84`~(q%_5cxD2$^N3E`q ziuJZw!j(qXh`jgq7@0t8%v1xL7F*!Ttoeo{*7}ZQD$LLn)`;c8SaKrlU0HnsL)^12 zDX

    O7laKCQf@8wv{dxgJsPY#|rKoOdARQ_>oj%NWHWet(=hrd?U*kgzPYryfYlu zqQLd;jz?s(`kn~2ebdE4?1|$ACGgRw(y~@ZQq10uu8}Csfjk%QvSJd4>w^bztw7pq_>c@!$1 z%pvwJQ9`%CM7zA((hATt>j)QIx+|4fgyuJTna;piX|Q-a!+gosiI6D`AOf}>fF539 z5R{%;N6KR5uNbcHEIo(XsGj<)tbna;Qin{ijxv($FY!aHMkFcpnW;jE=ZyjL^JU$L z`V4oa3L#(`YF~YWDzsD8;zo}Q5gJNetfG3Wr_dnqDiql-7Ol3G+IO3*^ptEuU|uO+ zCpzsN+6++Xp_cKe;%rp-K!V4AVT?p_IsUDHn|Lm%MA)e zhxfP|WlaTa1e3H$McOneUZ9n4%@q+=a$il~wI;i7A?rr5MN=h;N zg5nFSW&$cSqefB+`mD8aN2{$)kTji8d*_+F2t^b;e>8N&^$V=?(#Kx}MFO@-h38}( z9?gJA5y>`TBpE%Q#1SgYTCx$Iz+lK+uY!j-(}0aW9V%Wi`&$N}xNyc8E+zK4sv!1s z^ilns3+K`RuLJY@p^GSm*VVXDIAP$$93bgQdNDLFJWN_rez&i2Y`ZRPy zx);qR>1OQ?aSOmuVAe*U97R;1ht?g*go*3B8#pqQZbCwu?noppC>V_13if>{f;!k= zeBN-S+UsYIh5{2d-4Dc>{jsGS*dO1bXftQEBjS{%NVzF&{%L(cLq-nN-<;X4EPX;H z6C{vb3hFRRDx5*B{UwTcRhnxJbhTsT%AawY$ii#Qzca23Zfb(<{g zPjO8DH(kpwlq-+5WgFfxO`WQ|sE4%Fu8ajfFm^V3H|PB));dM%}qM~wq9_!64I zbSzC-3Yk`9VI&rra@z2^n|WCGNJzR-ny=9Cq>V8t#}!yOdAKg?RN)W;P)=F%>mxM7 ziwJ^Dn_XV@fC zbFO{6wqs>rB$nTxqo1@q{(8rh!gp>F@2%XFrNZ@6a0f{zO-&_zaw-uw6sp@{ISF+s z6?_r9;afLEJDw$WQQYVN>Yi0l^aFMcRQ?r&KAc_TR(;bKZT8*GCK*qWV7tJF8=Ndr z_lEWXS_T7lZ?{_%V$0Y1I=YIjrZDlT*T~v6VX~#xL-A5Je%|FZuSaP=w{6r)7J98# z{cPhpdwU&v-yoJsdFQfX+n%D6NaZ9CS3^ev^LSFer<9hJ_mq{hl>-%wne-W=td@X>D@-TrmjcfQyhGPW`J`Lu=EsEccLlVGDjkZv8wrS1%Y889tY zpzrs(GPM(a7Jbx_r+2#}!A#_Xm*do~L9gUoE*&V6@BeAax4?&tQ&eF{SVpUfntANsQ zV4^2R=5bnA+ith4a@I~#c665%h?ExM<%?s;!E9`R^>VZ~Epq^@p*3Yv&VdS!eBg|H zfcyBqDVV@`vGY9T=q4Lbk=SJeI|T>4!c$$jA{dXZ#=_#+k5;F?*K}}7x^GZ-j9gAv zj9&&MbAFY4C7~ptshvNAGgQF5QK;)rr%#`J*RtFUKHqQ&f{Jc}0|4HIoxn_ShhP$D6V~w(l|f zwMQMql02zBgyTh2O;iiR+DW!z6i2Jz>v@C%NuN*^9v=}#c)waNt*$l*mHAXa9rmzWn&=2V7cZ>2N zfSA(9J@t@{mr_=;bwF{&O2dH3vZ`dgC@K3Agg>*0qG;s;;qk@z3_xk=to7i@O~CM( zcc{}M;APB|8EJt{`5G*K`BNpQz19` zRjzt1INo^bAyyi-RWF)+sB*FoMUxLz*GM{4wPYKr4t*kMbKB7I47k{Fu57rd*`0)? zrfAsKZcuYivf`am*YS_XL1OnwoN^3HCzf+sJZ@_3x#a+ReU~7gEWLW)O}T*FXqBYw zyDktMa_ko6_k9({yvica+Ncip1`*hr>KUJJ^UtA5v ztKyPBs+Q0$1(c9I54)x>e(-a}zhA{p2}N=w=nEWPZ=ay(mbLtsKHUv|VIyjy}LYK!w1 zb-Tn-QZ2&g;AR}7M88^}I?Svq7e%mccz$NZ#1z&eQ#JzD53;`~4+EVZNt)o%Azo2v z4Gf&Fk>)=+--AV+Sfom+7~|%!+VW2e{JxVb{b8QcIs_+*Wl+I6g&VX(hOTV%_#r-e z)Opx+*DYbE#aobO6RvHB7{VOe1e|77HiDI!q*a#gad>yq-HFKA%`$`9NOr&#v=f9M zR$0n-YAkm&6jTuMaMq1n;4kXD#y`MihQB~8A^lP<=@*Qd-HF<5;L1dk&3MjhvbC$n z)dE&bM?=wzz*LbljzFqMF;FRrzd)a|8Ht$iCi?KO?V)SZ7+EYj5iL(M`Ka$YP_$6i z{$eP$=u^DzH6V-=6^CbAP=3Tz1F1eR{J;mc&}k)A7fQ#?GR?_aW`*WVGa`-%Ra-Vk z5}2-)*~!vlJt}|jIapDnXbDw6edcdJ zCGne51=3~zkRJA`y4sfcPu03r2w2NK5-%e*mvIF-DC$OB$dTdjJOOqHCpnj=%3)G2kIlZO2T~N51X+5pa zbPt>m<4GxNJVLocc!g0dYwg?WB=)~1M?FLfPtfd}o7Fg43Cb)iWHBS>WHF(37G()9 zRuh!b0Q7~W?VbN;C21ZeLNy(9;?t; zrbc6)GW!+^7P!g8iu@@ZRz0-^S(cu#wfKR1Y{bzhf41@+f*w?rxv0lgNn(kz74V&^ zn2C{WE+pD0W{?K%VOl7131h?8;oJ~g1AZZ0-GHd<)INQQpZ^I0<+8H6+Ing=0YmLn zWU(bc%9+Uv=B05d5cc;)(v%!32c;84fi&k_DvgMtwO$q$-A2b! zar>{1^~xQesOtbVPTz)A!r6hl9O+XB;-!?V=K`9iTBKEDmbfD{S<($iz00O6BwXEO zYMw~2FV^YGq4`x1`<@J2RuA)O|H6!bJHOOB!CSTpk1nYogz3^y{8A6_Pg|zA zJ;XBlBU7$Zx|k-8^p(5jOx`gUb6 zL+AjV2;4T514-fU5NE{9E4!b^p;T~V5M#XkSV0AJ$8dWNmo~!D7s$MCGP0OiQI21D zY>z5QbV?4cKjf_~-feh&YVEImGrD1~v8rwQ{;1>rcjX((w0+E#YC6=XB~6sQ)!In> zeT~f(kWuF5cHTQ8=e;2GqIJYs-U)sh<-^9$LutPT=g1Iy^tVNr<|JuI;3!Evvuix_lOQ@ zXY#0oks7s5e$Ff{cqVL})R3w@E!8FWQY79-oY2kU00NZ&fFL7sZq}k+E^v&KkrMZ6 z6L*Y=Jpel6&d6xNRGK>hVG#6 z!E7QPzI-WanagogR!lvCc`3(dDW>PCn0jL*g{;Tvf_#+OL_bsutq;%B<}6F=(W;O| zJs8RTqHJWnKd$RNdbZxRyz#yQ{*yxDr(%l8P5ipn>aQ-iCz3&vHMxZ`fsfb-KAdJ% z-RvQl&MENKJgweY5Gw1lzx@|j4*vFE6f#%GiVUE{U{W^8kY61_K|z@~_!7+yld}0z zWRrt0sr;8oA6HpoKGIcu*~V5VbBngbY@xX6Hss~DLJ3PoQtJ%>7>F6 zUBa8!^R&~$${maDB6A6i51ug%ITysnQFvd47}l%QiWXo&a&TQSwE02!DJ>g8~98&x5xt&ZMMx57=gC-0UKJe zXM1n82JMyv70#5z$OWh5c3wFeC`Ni~y(0xwCdntQiZQH0F-a1H+wJ z9|s?4c=On>59<5^57TNSgFD0eya@5^t49CTh)L$B!&DI^~UC z;*8zqD>|I3tp}1Xr?9Pnn>iRxHz|dBc}hHMKg1cW`FjQRam(=dm_n8TsZKr1&=4hivjUKyq}Ry#0t0GWmb|@BaZtD1sBihk z3Qzf2ID8!;vQzC>^$wKIcdTyql9kTiQ*B_R;EsVg0uWh%K{pO7iUzhrsY$nDLdt|V zkvU3HROb^Ly+~aUcxwCrHE(CIfF9vvp`Ai!$%Cazf4C-z51EW`_-}lY|7ratfck^vvbf;khmn)O9{ln$HyHFRV7? z(H>PYeOHTG%`|0$D53&G7R5!n8o&VQtBI9`bVq#n3;;y)s29U(e;~m!V?nj}d_b~7?h&_u+za+Z~f;`9Y_Br6<=j8+(R6Wdz!;v1vY}Xz) zbIVdT0lxjZb8s~5%vkIf*GY>{583W|Bu@FaO}IZlTf3k!g4$cSv}$XAu_6OH##K%F zAOrLS^HN8tq1af#HqMLL4!+~mFhrq>+65))S|%Nd}guub`vYa)n^+VgD(ujd2kY1 zrad2tM*xrR#IvOQT@9Qu_&qE2T`x{$x?i`mP5(t&Kza^j&O*q=dR%SNWm|SbZ&g35 z*4g+GEjAVzBu#?taa^129?Nx)7DE?IajO*y5m?^}l-r^eD2}gv_1W)!`}ytXx1ZmB Se*0Pf^Zx;eU=U^i@C*Ro0V~-6 literal 0 HcmV?d00001 diff --git a/packages/data/package.json b/packages/data/package.json index e01be73..46cc9d1 100644 --- a/packages/data/package.json +++ b/packages/data/package.json @@ -14,10 +14,10 @@ "build": "tsc" }, "dependencies": { - "@toldo/core": "workspace:*", + "@toldo/core": "file:../core", "dexie": "^4.0.10" }, "devDependencies": { "typescript": "~6.0.3" } -} +} \ No newline at end of file diff --git a/packages/data/src/index.ts b/packages/data/src/index.ts index 6c3f399..865d169 100644 --- a/packages/data/src/index.ts +++ b/packages/data/src/index.ts @@ -1 +1,2 @@ export * from './db/schema'; +export * from './repositories'; diff --git a/packages/data/src/repositories/AjusteRepository.ts b/packages/data/src/repositories/AjusteRepository.ts new file mode 100644 index 0000000..279f821 --- /dev/null +++ b/packages/data/src/repositories/AjusteRepository.ts @@ -0,0 +1,22 @@ +import { db } from '../db/schema'; +import type { Ajuste } from '@toldo/core'; +import { validateAjusteMotivo } from '@toldo/core'; + +export class AjusteRepository { + async create(ajuste: Ajuste): Promise { + validateAjusteMotivo(ajuste.motivo); + return db.ajustes.add(ajuste); + } + + async getAll(): Promise { + return db.ajustes.toArray(); + } + + async getByFecha(fecha: Date): Promise { + const start = new Date(fecha); + start.setHours(0, 0, 0, 0); + const end = new Date(fecha); + end.setHours(23, 59, 59, 999); + return db.ajustes.where('fecha').between(start, end).toArray(); + } +} diff --git a/packages/data/src/repositories/CuadreRepository.ts b/packages/data/src/repositories/CuadreRepository.ts new file mode 100644 index 0000000..906d0d3 --- /dev/null +++ b/packages/data/src/repositories/CuadreRepository.ts @@ -0,0 +1,20 @@ +import { db } from '../db/schema'; +import type { CuadreCaja } from '@toldo/core'; + +export class CuadreRepository { + async create(cuadre: CuadreCaja): Promise { + return db.cuadres.add(cuadre); + } + + async getByFecha(fecha: Date): Promise { + const start = new Date(fecha); + start.setHours(0, 0, 0, 0); + const end = new Date(fecha); + end.setHours(23, 59, 59, 999); + return db.cuadres.where('fecha').between(start, end).toArray(); + } + + async getAll(): Promise { + return db.cuadres.toArray(); + } +} diff --git a/packages/data/src/repositories/GastoRepository.ts b/packages/data/src/repositories/GastoRepository.ts new file mode 100644 index 0000000..0ec7d93 --- /dev/null +++ b/packages/data/src/repositories/GastoRepository.ts @@ -0,0 +1,20 @@ +import { db } from '../db/schema'; +import type { Gasto } from '@toldo/core'; + +export class GastoRepository { + async create(gasto: Gasto): Promise { + return db.gastos.add(gasto); + } + + async getByFecha(fecha: Date): Promise { + const start = new Date(fecha); + start.setHours(0, 0, 0, 0); + const end = new Date(fecha); + end.setHours(23, 59, 59, 999); + return db.gastos.where('fecha').between(start, end).toArray(); + } + + async getAll(): Promise { + return db.gastos.toArray(); + } +} diff --git a/packages/data/src/repositories/MovimientoInventarioRepository.ts b/packages/data/src/repositories/MovimientoInventarioRepository.ts new file mode 100644 index 0000000..d6a7124 --- /dev/null +++ b/packages/data/src/repositories/MovimientoInventarioRepository.ts @@ -0,0 +1,16 @@ +import { db } from '../db/schema'; +import type { MovimientoInventario } from '@toldo/core'; + +export class MovimientoInventarioRepository { + async create(mov: MovimientoInventario): Promise { + return db.movimientosInventario.add(mov); + } + + async getByProducto(productoId: string): Promise { + return db.movimientosInventario.where('productoId').equals(productoId).toArray(); + } + + async getAll(): Promise { + return db.movimientosInventario.toArray(); + } +} diff --git a/packages/data/src/repositories/ProductoRepository.ts b/packages/data/src/repositories/ProductoRepository.ts new file mode 100644 index 0000000..2aef309 --- /dev/null +++ b/packages/data/src/repositories/ProductoRepository.ts @@ -0,0 +1,30 @@ +import { db } from '../db/schema'; +import type { Producto } from '@toldo/core'; + +export class ProductoRepository { + async getAll(): Promise { + return db.productos.toArray(); + } + + async getByProductor(productorId: string): Promise { + return db.productos.where('productorId').equals(productorId).toArray(); + } + + async getById(id: string): Promise { + return db.productos.get(id); + } + + async create(producto: Producto): Promise { + // Ensure uniqueness by (productorId, nombrePresentacion) + const exists = await db.productos + .where('[productorId+nombrePresentacion]') + .equals([producto.productorId, producto.nombrePresentacion]) + .first(); + if (exists) throw new Error('Ya existe un producto con ese nombre para este productor'); + return db.productos.add(producto); + } + + async update(producto: Producto): Promise { + return db.productos.put(producto); + } +} diff --git a/packages/data/src/repositories/ProductorRepository.ts b/packages/data/src/repositories/ProductorRepository.ts new file mode 100644 index 0000000..49b929f --- /dev/null +++ b/packages/data/src/repositories/ProductorRepository.ts @@ -0,0 +1,24 @@ +import { db } from '../db/schema'; +import type { Productor } from '@toldo/core'; + +export class ProductorRepository { + async getAll(): Promise { + return db.productores.toArray(); + } + + async getById(id: string): Promise { + return db.productores.get(id); + } + + async create(productor: Productor): Promise { + return db.productores.add(productor); + } + + async update(productor: Productor): Promise { + return db.productores.put(productor); + } + + async delete(id: string): Promise { + return db.productores.delete(id); + } +} diff --git a/packages/data/src/repositories/VentaRepository.ts b/packages/data/src/repositories/VentaRepository.ts new file mode 100644 index 0000000..af40afa --- /dev/null +++ b/packages/data/src/repositories/VentaRepository.ts @@ -0,0 +1,24 @@ +import { db } from '../db/schema'; +import type { Venta, VentaLinea } from '@toldo/core'; + +export class VentaRepository { + async create(venta: Venta, lineas: VentaLinea[]): Promise { + return db.transaction('rw', db.ventas, db.ventaLineas, async () => { + await db.ventas.add(venta); + await db.ventaLineas.bulkAdd(lineas); + return venta.id; + }); + } + + async getByFecha(fecha: Date): Promise { + const start = new Date(fecha); + start.setHours(0, 0, 0, 0); + const end = new Date(fecha); + end.setHours(23, 59, 59, 999); + return db.ventas.where('fecha').between(start, end).toArray(); + } + + async getAll(): Promise { + return db.ventas.toArray(); + } +} diff --git a/packages/data/src/repositories/index.ts b/packages/data/src/repositories/index.ts new file mode 100644 index 0000000..34eb5b2 --- /dev/null +++ b/packages/data/src/repositories/index.ts @@ -0,0 +1,7 @@ +export * from './ProductorRepository'; +export * from './ProductoRepository'; +export * from './VentaRepository'; +export * from './GastoRepository'; +export * from './AjusteRepository'; +export * from './MovimientoInventarioRepository'; +export * from './CuadreRepository'; diff --git a/packages/services/package.json b/packages/services/package.json index d649192..0b00ffb 100644 --- a/packages/services/package.json +++ b/packages/services/package.json @@ -15,8 +15,8 @@ "test": "vitest" }, "dependencies": { - "@toldo/core": "workspace:*", - "@toldo/data": "workspace:*" + "@toldo/core": "file:../core", + "@toldo/data": "file:../data" }, "devDependencies": { "typescript": "~6.0.3", diff --git a/packages/services/src/ajustes/AjustesService.ts b/packages/services/src/ajustes/AjustesService.ts new file mode 100644 index 0000000..855c43e --- /dev/null +++ b/packages/services/src/ajustes/AjustesService.ts @@ -0,0 +1,31 @@ +import { db } from '@toldo/data'; +import type { Ajuste, MovimientoInventario } from '@toldo/core'; +import { validateAjusteMotivo } from '@toldo/core'; + +export class AjustesService { + async crearAjuste(ajuste: Ajuste) { + validateAjusteMotivo(ajuste.motivo); + return db.transaction('rw', db.ajustes, db.movimientosInventario, async () => { + await db.ajustes.add(ajuste); + await db.movimientosInventario.add({ + id: crypto.randomUUID(), + fecha: ajuste.fecha, + tipo: 'AJUSTE', + productoId: ajuste.productoId, + cantidad: ajuste.diferencia, + motivo: ajuste.motivo, + referenciaId: ajuste.id, + createdAt: new Date() + }); + return ajuste.id; + }); + } + + async getAjustesDelDia(fecha: Date): Promise { + const start = new Date(fecha); + start.setHours(0, 0, 0, 0); + const end = new Date(fecha); + end.setHours(23, 59, 59, 999); + return db.ajustes.where('fecha').between(start, end).toArray(); + } +} diff --git a/packages/services/src/cuadre/CuadreService.ts b/packages/services/src/cuadre/CuadreService.ts new file mode 100644 index 0000000..280cebe --- /dev/null +++ b/packages/services/src/cuadre/CuadreService.ts @@ -0,0 +1,56 @@ +import { db } from '@toldo/data'; +import type { CuadreCaja } from '@toldo/core'; +import { calcularSaldoEsperadoEfectivo, calcularDescuadreEfectivo, calcularTotalVentas } from '@toldo/core'; + +export class CuadreService { + async calcularCuadreDelDia(fecha: Date, baseInicial: number): Promise> { + const start = new Date(fecha); + start.setHours(0, 0, 0, 0); + const end = new Date(fecha); + end.setHours(23, 59, 59, 999); + + const ventas = await db.ventas.where('fecha').between(start, end).toArray(); + const lineas = await db.ventaLineas.toArray(); + const gastos = await db.gastos.where('fecha').between(start, end).toArray(); + + let totalVentasEfectivo = 0; + let totalVentasQR = 0; + + for (const venta of ventas) { + const vLineas = lineas.filter(l => l.ventaId === venta.id); + for (const l of vLineas) { + if (l.formaPago === 'EFECTIVO') totalVentasEfectivo += l.subtotal; + else totalVentasQR += l.subtotal; + } + } + + let totalGastosEfectivo = 0; + let totalGastosQR = 0; + for (const g of gastos) { + if (g.formaPago === 'EFECTIVO') totalGastosEfectivo += g.monto; + else if (g.formaPago === 'QR') totalGastosQR += g.monto; + } + + const saldoEsperadoEfectivo = calcularSaldoEsperadoEfectivo(baseInicial, totalVentasEfectivo, totalGastosEfectivo); + const totalVentas = calcularTotalVentas(totalVentasEfectivo, totalVentasQR); + + return { + fecha, + baseInicial, + totalVentasEfectivo, + totalVentasQR, + totalGastosEfectivo, + totalGastosQR, + saldoEsperadoEfectivo, + totalVentas, + createdAt: new Date() + }; + } + + async guardarCuadre(cuadre: CuadreCaja) { + if (cuadre.saldoRealEfectivo !== undefined && cuadre.saldoEsperadoEfectivo !== undefined) { + cuadre.descuadreEfectivo = calcularDescuadreEfectivo(cuadre.saldoEsperadoEfectivo, cuadre.saldoRealEfectivo); + } + return db.cuadres.add(cuadre); + } +} diff --git a/packages/services/src/gastos/GastosService.ts b/packages/services/src/gastos/GastosService.ts new file mode 100644 index 0000000..7bd751d --- /dev/null +++ b/packages/services/src/gastos/GastosService.ts @@ -0,0 +1,16 @@ +import { db } from '@toldo/data'; +import type { Gasto } from '@toldo/core'; + +export class GastosService { + async registrarGasto(gasto: Gasto) { + return db.gastos.add(gasto); + } + + async getGastosDelDia(fecha: Date): Promise { + const start = new Date(fecha); + start.setHours(0, 0, 0, 0); + const end = new Date(fecha); + end.setHours(23, 59, 59, 999); + return db.gastos.where('fecha').between(start, end).toArray(); + } +} diff --git a/packages/services/src/index.ts b/packages/services/src/index.ts index 5b93aca..06e706c 100644 --- a/packages/services/src/index.ts +++ b/packages/services/src/index.ts @@ -1 +1,7 @@ +export * from './ventas/VentasService'; +export * from './gastos/GastosService'; +export * from './ajustes/AjustesService'; +export * from './inventario/InventarioService'; +export * from './cuadre/CuadreService'; +export * from './reportes/ReportesService'; export * from './export-import/ExportImportService'; diff --git a/packages/services/src/inventario/InventarioService.ts b/packages/services/src/inventario/InventarioService.ts new file mode 100644 index 0000000..583dfe9 --- /dev/null +++ b/packages/services/src/inventario/InventarioService.ts @@ -0,0 +1,38 @@ +import { db } from '@toldo/data'; +import type { MovimientoInventario } from '@toldo/core'; + +export class InventarioService { + async registrarIngresoInicial(productoId: string, cantidad: number, fecha: Date) { + const mov: MovimientoInventario = { + id: crypto.randomUUID(), + fecha, + tipo: 'INGRESO_INICIAL', + productoId, + cantidad, + createdAt: new Date() + }; + return db.movimientosInventario.add(mov.id, mov); + } + + async registrarIngresoSemana(productoId: string, cantidad: number, fecha: Date, recibidoPor: string) { + const mov: MovimientoInventario = { + id: crypto.randomUUID(), + fecha, + tipo: 'INGRESO_SEMANA', + productoId, + cantidad, + recibidoPor, + createdAt: new Date() + }; + return db.movimientosInventario.add(mov.id, mov); + } + + async calcularSaldoProducto(productoId: string): Promise { + const movs = await db.movimientosInventario.where('productoId').equals(productoId).toArray(); + return movs.reduce((acc, m) => acc + m.cantidad, 0); + } + + async getMovimientosPorProducto(productoId: string): Promise { + return db.movimientosInventario.where('productoId').equals(productoId).toArray(); + } +} diff --git a/packages/services/src/reportes/ReportesService.ts b/packages/services/src/reportes/ReportesService.ts new file mode 100644 index 0000000..5e0a86e --- /dev/null +++ b/packages/services/src/reportes/ReportesService.ts @@ -0,0 +1,56 @@ +import { db } from '@toldo/data'; + +export class ReportesService { + async reportePorProductor(fecha: Date) { + const productores = await db.productores.toArray(); + const productos = await db.productos.toArray(); + const start = new Date(fecha); + start.setHours(0, 0, 0, 0); + const end = new Date(fecha); + end.setHours(23, 59, 59, 999); + const ventas = await db.ventas.where('fecha').between(start, end).toArray(); + const lineas = await db.ventaLineas.toArray(); + const ajustes = await db.ajustes.where('fecha').between(start, end).toArray(); + + const reporte: any[] = []; + + for (const productor of productores) { + const prodsProductor = productos.filter(p => p.productorId === productor.id); + let totalVentas = 0; + const salidas: any[] = []; + + for (const prod of prodsProductor) { + const lineasProd = lineas.filter(l => l.productoId === prod.id && ventas.some(v => v.id === l.ventaId)); + for (const lp of lineasProd) { + totalVentas += lp.subtotal; + salidas.push({ producto: prod.nombrePresentacion, cantidad: lp.cantidad, valor: lp.subtotal }); + } + } + + reporte.push({ + productor: productor.nombre, + ajustes: ajustes.filter(a => prodsProductor.some(p => p.id === a.productoId)), + salidas, + totalVentas + }); + } + + return reporte; + } + + async reporteCuadre(fecha: Date) { + const start = new Date(fecha); + start.setHours(0, 0, 0, 0); + const end = new Date(fecha); + end.setHours(23, 59, 59, 999); + const cuadres = await db.cuadres.where('fecha').between(start, end).toArray(); + return cuadres; + } + + async consolidadoPorRango(fechaInicio: Date, fechaFin: Date) { + const ventas = await db.ventas.where('fecha').between(fechaInicio, fechaFin).toArray(); + const gastos = await db.gastos.where('fecha').between(fechaInicio, fechaFin).toArray(); + const ajustes = await db.ajustes.where('fecha').between(fechaInicio, fechaFin).toArray(); + return { ventas: ventas.length, gastos: gastos.length, ajustes: ajustes.length }; + } +} diff --git a/packages/services/src/ventas/VentasService.ts b/packages/services/src/ventas/VentasService.ts new file mode 100644 index 0000000..06b8e3a --- /dev/null +++ b/packages/services/src/ventas/VentasService.ts @@ -0,0 +1,37 @@ +import { db } from '@toldo/data'; +import type { Venta, VentaLinea } from '@toldo/core'; + +export class VentasService { + async registrarVenta(venta: Venta, lineas: VentaLinea[]) { + // Validar stock mínimo conceptual - se puede expandir + return db.transaction('rw', db.ventas, db.ventaLineas, async () => { + await db.ventas.add(venta); + await db.ventaLineas.bulkAdd(lineas); + // Registrar movimientos de venta + for (const linea of lineas) { + await db.movimientosInventario.add({ + id: crypto.randomUUID(), + fecha: venta.fecha, + tipo: 'VENTA', + productoId: linea.productoId, + cantidad: -Math.abs(linea.cantidad), + referenciaId: venta.id, + createdAt: new Date() + }); + } + return venta.id; + }); + } + + async getVentasDelDia(fecha: Date): Promise { + const start = new Date(fecha); + start.setHours(0, 0, 0, 0); + const end = new Date(fecha); + end.setHours(23, 59, 59, 999); + return db.ventas.where('fecha').between(start, end).toArray(); + } + + async getLineasPorVenta(ventaId: string): Promise { + return db.ventaLineas.where('ventaId').equals(ventaId).toArray(); + } +} diff --git a/packages/ui/package.json b/packages/ui/package.json index 32b58b4..7030cb6 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -14,10 +14,10 @@ "build": "tsc" }, "dependencies": { - "@toldo/core": "workspace:*", - "@toldo/services": "workspace:*" + "@toldo/core": "file:../core", + "@toldo/services": "file:../services" }, "devDependencies": { "typescript": "~6.0.3" } -} +} \ No newline at end of file